我正在关注this link中的内容,它直接在github repo中为我所做的所有提交更改作者姓名。
我按照步骤运行了以下脚本。
git filter-branch --env-filter '
OLD_EMAIL="myoldemail@someotherdomain.com"
CORRECT_NAME="myname"
CORRECT_EMAIL="myname@gmail.com"
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
脚本的结果如下:
Rewrite ae90f4a2d7fe9288d678c5d530347c00f085c268 (443/443)
WARNING: Ref 'refs/heads/accounts_migration' is unchanged
WARNING: Ref 'refs/heads/campaigns' is unchanged
WARNING: Ref 'refs/heads/email' is unchanged
WARNING: Ref 'refs/heads/event_tracking' is unchanged
WARNING: Ref 'refs/heads/highcharts_integration' is unchanged
WARNING: Ref 'refs/heads/inapp_coupon' is unchanged
WARNING: Ref 'refs/heads/master' is unchanged
WARNING: Ref 'refs/heads/staging' is unchanged
它表示所有分支都保持不变,即使我有myoldemail@someotherdomain.com
名称的提交。
我在这里错过了什么或做错了什么?
答案 0 :(得分:0)
如果您正在创建可执行文件,然后以某种方式执行该命令它无法正常工作。但是,如果您尝试从命令行执行命令,那么它将进行所需的更改。
答案 1 :(得分:0)
你是否重复了#34;直接前进"说明一步一步?特别是,您是否对存储库进行了新的检查?
说明书对我来说很好。我能想到的唯一问题是先前过滤器尝试的现有备份。在这种情况下,裁判不会被改变。
(您可以强制过滤器使用-f
- 开关进行处理,这会删除备份。但是,可能有充分的理由说明为什么在说明中没有这样做。)