此操作需要强推仓库请谨慎操作,请确保有强推权限
一、打开 Git bash,输入Git 命令
这是一段多行命令
git filter-branch --env-filter '
OLD_EMAIL="thedanyang@qq.com"
CORRECT_NAME="LiuDanyang"
CORRECT_EMAIL="thedanyang@vip.qq.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
OLD_EMAIL
旧邮箱(也就是需要替换掉的 Git 历史中的邮箱)
CORRECT_NAME
新名称
CORRECT_EMAIL
新邮箱
注意:直接复制到bash里面无法修改
新建一个文本文档
二、运行完多行命令之后,强制推送仓库
git push --force --tags origin 'refs/heads/*'
完成修改
附加:
保证之后提交的用户信息,需要设置Git
git config --global user.name "LiuDanyang"
git config --global user.email thedanyang@vip.qq.com
参考资料