更改Git作者信息不起作用

时间:2016-06-05 08:33:46

标签: git

我正在关注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名称的提交。

我在这里错过了什么或做错了什么?

2 个答案:

答案 0 :(得分:0)

如果您正在创建可执行文件,然后以某种方式执行该命令它无法正常工作。但是,如果您尝试从命令行执行命令,那么它将进行所需的更改。

答案 1 :(得分:0)

你是否重复了#34;直接前进"说明一步一步?特别是,您是否对存储库进行了新的检查?

说明书对我来说很好。我能想到的唯一问题是先前过滤器尝试的现有备份。在这种情况下,裁判不会被改变。

(您可以强制过滤器使用-f - 开关进行处理,这会删除备份。但是,可能有充分的理由说明为什么在说明中没有这样做。)