- 打开终端,cd 至项目根目录,替换用户信息,执行如下指令
git filter-branch --env-filter '
OLD_EMAIL="旧邮箱地址"
CORRECT_NAME="新的用户名"
CORRECT_EMAIL="新的邮箱地址"
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
- 执行后,终端打印
Ref 'refs/heads/dev' was rewritten
,即为成功,随后执行如下指令强推
git push --force --tags origin 'refs/heads/*'
-
如果有多个旧邮箱地址提交记录,删除如下文件夹内容
.git/refs/original/refs/heads
,然后再次执行上述指令 -
如果强推报错,跳转申请 New Personal Access Token (Classic),然后 Password 输入新的 token 再次强推
网友评论