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

Git如何批量Cherry Pick提交并自动跳过冲突提交?

批量Cherry Pick时自动跳过冲突提交的方法

Git没有原生的单条命令直接实现“只要提交有冲突就完全丢弃”的需求,但可以通过一条组合命令快速完成这个操作,无需手动逐个处理:

git cherry-pick -x <起始提交SHA>..<结束提交SHA> || while git cherry-pick --skip; do :; done

参数说明

  • -x:在每个成功应用的提交信息末尾追加(cherry picked from commit <SHA>),方便后续追踪提交来源
  • <起始提交SHA>..<结束提交SHA>:定义你要应用的提交范围,这是左开右闭区间——即包含<结束提交SHA>,不包含<起始提交SHA>。如果需要包含起始提交,改为^<起始提交SHA> <结束提交SHA>
  • 后半段的while循环会在cherry-pick遇到冲突时,自动执行git cherry-pick --skip跳过当前冲突提交,直到所有提交处理完成

使用注意事项

  • 执行前务必确保当前分支的工作区和暂存区是干净的,避免未提交的修改干扰操作(如有未提交内容,先执行git stash暂存)
  • 该命令会完全丢弃所有引发冲突的提交,不会尝试解决任何冲突,确认你的需求再执行
  • 如果中途需要终止操作,按Ctrl+C中断后,执行git cherry-pick --abort即可回到操作前的状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 10:19:58