2023年3月

功能实现

我们使用 Lodash 的 omitBy 方法即可实现

参数

  1. object (Object): 来源对象。
  2. [predicate=_.identity] (Function): 调用每一个属性的函数。(也就是当满足这个条件将会被过滤掉
const { omitBy } = require("lodash")

const filterParams = {
  day: 1,
  min: undefined,
  max: null,
  age: ""
}

omitBy(filterParams, (value, key) => value === undefined || value === null)
// 运行结果:{ day: 1, age: '' }

脚本

通过此脚本即可实现一键修改

#!/bin/sh

git filter-branch --env-filter '
OLD_EMAIL="填写原来的邮箱"
CORRECT_NAME="填写现在的名称"
CORRECT_EMAIL="填写现在的邮箱"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

运行后,然后执行 git push -f 即可

配置如下

// 如果 GET 参数 shop 为空,则设置默认值为 default-shop.com
map $arg_shop $get_shop {
  "" "default-shop.com";
  default $arg_shop;
}

server
{
    listen 80;
    server_name example.com;
    index index.html;
    root /www/wwwroot/example.com;

    location {
      // 使用变量
      add_header X-Shop $get_shop;
    }
}