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_EMAILCORRECT_NAMECORRECT_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
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM