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

问题描述 投票:0回答:1

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

提交包括我无法修改的作者,链接到提交的电子邮件是<>。

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

enter image description here

github
1个回答
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="[email protected]"
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

然后,执行强制推送,并告诉您的协作者更新他们的fork,如果存在一些。

© www.soinside.com 2019 - 2024. All rights reserved.