Git设置旧邮箱与现邮箱不一致问题
设置名字和邮箱
git config user.name 'lhr'
git config user.email 'lhr@qq.com'
工程根目录创建email.sh文件
粘贴以下代码
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="fphd_xian_lufei@fphd"
CORRECT_NAME="sy-records"
CORRECT_EMAIL="52o@qq52o.cn"
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
、CORRECT_NAME
、CORRECT_EMAIL
改成自己的新旧邮箱用户名即可
然后我们来执行一下这个.sh
文件: ./email.sh
Linux/Mac下需要赋予执行权限:
chmod +x email.sh
git日志较多执行时间会长,成功后再查看git log
可以看到已经修改成功
如果执行失败的话,执行一下这段命令
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
再运行./email.sh
脚本
这时候虽然本地修改成功了,但是你还没有推送到远程
所以再执行一下命令
git push origin --force --all
原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明。转载自:修改Git全部Commit提交记录的用户名Name和邮箱Email