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

是否需编写Shell脚本批量Cherry-Pick分支提交?有无现成Git命令?

批量Cherry-Pick指定范围提交的Git命令

不用写Shell脚本,Git本身就支持批量处理这类需求,直接用范围格式的git cherry-pick命令就能完成:

# 直接执行这条命令即可
git cherry-pick $(git merge-base origin/HEAD origin/feature-branch)..origin/feature-branch

命令解释

  • git merge-base origin/HEAD origin/feature-branch:就是你用来获取两个分支共同祖先提交(即你说的“首个提交的前置提交”)的命令。
  • .. 是Git的范围表示法,<start>..<end> 会选中所有在<end>分支里、但不在<start>提交里的提交——也就是从共同祖先的下一个提交开始,一直到origin/feature-branch的最新提交,正好对应你需要逐个cherry-pick的所有提交。
  • 这个命令会按照提交时间从早到晚的顺序,自动逐个执行cherry-pick,和你手动从origin/feature-branch~9到origin/feature-branch~0的操作效果完全一致。

冲突处理

如果中途遇到代码冲突,Git会自动暂停操作,此时你可以:

  1. 手动解决代码冲突
  2. 执行 git add <冲突文件>
  3. 执行 git cherry-pick --continue 继续后续的cherry-pick操作

如果想跳过当前冲突的提交,执行 git cherry-pick --skip;如果要放弃整个批量操作,执行 git cherry-pick --abort。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:27:19