如何修改 commit 中的邮箱?

官方给出了一个简单的解决方案,附上链接及脚本:

https://help.github.com/en/github/using-git/changing-author-info

#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.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

将其中的环境变量更换为对应的新旧邮箱地址即可实现替换,在替换之后需要使用 git push -f 进行强制推送,请注意备份原有仓库。

IInfinity

IInfinity

大道虽简,知易行难。
CN