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

如何执行Git反向cherry-pick操作?移除错误提交保留正确提交

移除错误提交的反向Cherry-Pick操作方案

假设原分支提交序列为:正确提交1 → 错误提交X → 错误提交Y → 正确提交2 → 正确提交3,需在新分支保留正确提交、移除错误提交的修改,可按以下方式操作:

方法一:反向Cherry-Pick撤销错误修改

  1. 切换到目标分支(如你创建的new-branch):
    git checkout new-branch
    
  2. 对每个错误提交执行反向cherry-pick,生成撤销该提交修改的新提交:
    git cherry-pick -x -m 1 <错误提交SHA值>
    
    • -x:在新提交信息中标记该操作源自原错误提交,便于追溯
    • -m 1:针对普通提交(非合并提交),若为合并提交需指定父分支序号
  3. 若出现冲突,手动解决后执行:
    git add .
    git cherry-pick --continue
    
    放弃操作可执行:
    git cherry-pick --abort
    

方法二:选择性Cherry-Pick正确提交(更高效)

若错误提交数量多,直接挑选所有正确提交到新分支:

  1. 确保处于new-branch分支:
    git checkout new-branch
    
  2. 按提交时间从早到晚的顺序,依次cherry-pick正确提交:
    git cherry-pick <正确提交1的SHA>
    git cherry-pick <正确提交2的SHA>
    git cherry-pick <正确提交3的SHA>
    
  3. 冲突处理同方法一:解决后执行git add .和git cherry-pick --continue

注意事项

  • 你之前切换到master后能看到原分支commit是正常现象,git log默认展示全部分支的提交记录,不影响后续操作
  • 反向cherry-pick不会修改原分支历史,属于安全的历史调整方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:55:14