You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销Git提交用户名与邮箱的批量修改操作?

撤销全量提交用户名/邮箱修改,恢复后修改特定提交

第一步:找回修改前的历史状态

执行git reflog,查看本地仓库的所有操作记录,找到你执行全量修改脚本之前的提交哈希值(比如输出里HEAD@{N}对应的哈希,记为OLD_COMMIT)。

第二步:恢复到修改前的仓库状态

  • 如果修改还没推送到远程仓库,直接执行:
    git reset --hard OLD_COMMIT
    
  • 如果已经推送到远程仓库,执行完上面的reset命令后,需要强制推送覆盖远程历史(注意:这会改写远程分支历史,必须确保团队内所有人知情并同步操作):
    git push --force origin 你的分支名称
    

第三步:仅修改特定提交的用户名/邮箱

恢复完成后,用交互式rebase定位并修改目标提交:

  1. 找到要修改的提交的父提交哈希(即目标提交的上一个提交),执行:
    git rebase -i 父提交哈希
    
  2. 在弹出的编辑器中,把要修改的那一行的pick替换成edit,保存并退出编辑器。
  3. 执行修改命令,替换为目标用户名和邮箱:
    git commit --amend --author="目标用户名 <目标邮箱>" --no-edit
    
  4. 继续完成rebase流程:
    git rebase --continue
    
  5. 若有多个需要修改的提交,重复步骤2-4即可。
  6. 最后要同步到远程的话,再次执行强制推送(注意团队协作):
    git push --force origin 你的分支名称
    

内容的提问来源于stack exchange,提问作者fatpanda2049

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:02:08