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

如何将develop分支合并PR的提交cherry-pick到deployment分支

已合并PR特定提交迁移到新分支操作方案

问题原因

你之前操作带出多余提交,是因为直接cherry-pick PR合并提交时,会读取合并提交两个父分支的全量差异,如果tester-branch和develop的分叉点早于该PR源分支的分叉点,就会带入区间内的其他无关改动。

方案1:仅迁移合并提交的全量改动(单提交)

适合你要直接取包含B、C所有改动的父提交A的需求:

  • 切换到目标分支并拉取最新内容
git checkout tester-branch
git pull origin tester-branch
  • 带-n参数cherry-pick合并提交,仅将改动落到工作区,不自动提交也不携带历史提交
git cherry-pick -n -m 1 <commit-A的完整哈希值>
  • 检查工作区改动确认仅包含A、B、C的内容后,提交推送
git add .
git commit -m "自定义提交信息"
git push origin tester-branch

方案2:合并A、B、C三个提交为单个提交迁移

如果你能获取到A、B、C三个独立提交的哈希值(假设A是最早的提交,C是最晚的提交),可以用区间cherry-pick实现:

  • 切换到目标分支并拉取最新内容
git checkout tester-branch
git pull origin tester-branch
  • 拉取三个提交的全量改动到工作区
git cherry-pick -n <commit-A的哈希>^..<commit-C的哈希>

注意commit-A后面加^是为了将提交A本身包含在cherry-pick区间内

  • 确认改动无误后提交推送
git add .
git commit -m "合并PR对应A、B、C提交改动"
git push origin tester-branch

注意事项

  • 操作前先执行git status确认工作区没有未提交的改动,避免冲突内容混淆
  • 如果操作过程中出现冲突,解决完冲突后执行git add <冲突文件>,再继续提交即可

内容的提问来源于stack exchange,提问作者Lutaaya Huzaifah Idris

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:45:04