在Git中更改作者和电子邮件地址

时间:2019-03-02 19:40:47

标签: github

enter image description here我正在更改终端内的git作者信息,无论出于何种原因,更新都已从提交中删除了电子邮件,现在我无法还原此更改,也无法为此添加电子邮件地址承诺。

提交中包含我无法修改的作者,并且链接到提交的电子邮件为<>。

有人可以建议我如何向该作者添加电子邮件地址吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用核选项git filter-branch批量更改提交历史记录。使用--env-filter,您可以更改作者和电子邮件信息。有关更多信息,请参见Changing Author Info - GitHub。由于您现在没有电子邮件信息,因此您可能会因为判断重写的必要性而弄乱了名字。

例如,

#!/bin/sh
git filter-branch -f --env-filter '
OLD_NAME="Your messy name" # you may need to escape the " char in the head and tail of that messy
CORRECT_NAME="MatthewLRichardson"
CORRECT_EMAIL="preventing@email.spoiler"
if [ "$GIT_COMMITTER_NAME" = "#OLD_NAME" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_NAME" = "#OLD_NAME" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

然后,用力推动,并告诉您的协作者更新他们的叉子(如果有的话)。