git批量修改push到远程的用户和作者信息
git通过命令可以配置本地用户名和邮箱
git config user.name 用户名
git config user.email 邮箱
查看本地用户名和邮箱
git config user.name
git config user.email
修改已经push到远程的用户名和邮箱
#!/bin/sh git filter-branch --env-filter ' OLD_EMAIL="yy_z3em@163.com" CORRECT_NAME="xxxcxy" CORRECT_EMAIL="yy_z3em@163.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
执行脚本之前先更新代码。
创建一个sh脚本,把上面命令粘贴到脚本里面,然后执行sh脚本。
如果执行失败,需要删除 .git/refs/original目录。
执行更新命令
git pull --rebase
然后再重新执行修改用户名的脚本
脚本执行成功之后,提交代码到远程git仓库。
git push origin --force --all
到远程git仓库查看提交记录,提交人名字都修改了。
批量修改push到远程的用户和作者信息结束。
----------
----------
----------
修改全部的提交记录。
#!/bin/sh git filter-branch --env-filter ' CORRECT_NAME="xxxcxy" CORRECT_EMAIL="yy_z3em@163.com" export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" ' --tag-name-filter cat -- --branches --tags
以上脚本慎用,会把所有的提交记录都修改。
作者:Se7end
声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步