修改Git 仓库的历史中提交作者的信息 name和email

此操作需要强推仓库请谨慎操作,请确保有强推权限

一、打开 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

 

参考资料

git-configgit-filter-branchchanging author info

posted @ 2020-04-23 12:10  dearyang  阅读(43)  评论(0)    收藏  举报