git修改已提交的履历的作者信息
git修改已提交的履历的作者信息
场景
有的时候修改了git配置的全局用户名和邮箱,但是已经提交了几次代码,这个时候需要修改已经提交的代码的提交者信息。
操作
为了保证修改之后的提交我们使用正确的提交者信息,我们需要先修改git配置信息。
- 如果之前全局配置设定要修改的情况下,需要先修改git全局配置
git config --global user.name "new name" git config --global user.email "new email"
- 全局配置不需要修改,只修改当前项目仓库git配置信息
git config user.name "new name" git config user.email "new email"
- git配置信息修改完成后,命令行执行以下命令并替换其中的
OLD_EMAIL
、CORRECT_NAME
、CORRECT_EMAIL
为要修改的值。
git filter-branch --env-filter ' OLD_EMAIL="old email" CORRECT_NAME="new name" CORRECT_EMAIL="new email" 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
- 修改完成后,通过
git log
命令确认本地修改成功后强制推送到远程仓库
git push -f
::: warning 注意
- 强制推送可能会影响使用同一远程仓库的其他人,请确保在进行此操作之前与团队成员进行沟通。
- 修改前请先备份好代码,避免修改失败后代码丢失。
:::
本文来自博客园,作者:Mazy_699,转载请注明原文链接:https://www.cnblogs.com/mazy-699/p/18145318
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通