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

能否将合并至staging的squashed commit Cherry Pick至基于master的新分支?

当然可以这么做!

这是跨分支复用已合并变更的常规操作,完全可行。下面是具体的操作步骤,帮你顺利完成这个流程:

操作步骤

  • 首先同步本地仓库的最新代码,确保你拿到staging和master分支的最新状态:
    git checkout staging
    git pull origin staging
    git checkout master
    git pull origin master
    
  • 基于最新的master分支创建一个新的工作分支,比如命名为feature/xyz-for-master:
    git checkout -b feature/xyz-for-master master
    
  • 找到合并到staging的那个squashed commit的哈希值。你可以在staging分支下用日志命令查看:
    git log --oneline staging
    
    你要找的是那个被压缩合并后的提交,通常它的提交信息会和你之前的PR标题相关,很容易识别。
  • 在新创建的分支上执行cherry-pick,把目标commit的变更应用过来:
    git cherry-pick <替换成你的squashed commit哈希值>
    
    • 如果没有代码冲突,这个操作会直接完成;如果出现冲突,Git会提示你手动解决冲突。解决完冲突后,用git add .标记冲突文件已处理,再执行git cherry-pick --continue就能完成cherry-pick。
  • 把带有变更的新分支推送到远程仓库:
    git push origin feature/xyz-for-master
    
  • 最后就可以在你的代码托管平台上,向master分支发起新的Pull Request了。

注意事项

  • 因为staging和master分支可能存在代码差异,cherry-pick完成后一定要测试一下功能的完整性和兼容性,确保没有引入新的问题。
  • 如果之后你在staging上还有相关的后续变更需要同步到master,同样可以用cherry-pick操作逐个迁移;如果变更较多,也可以考虑用rebase,但对于单个squashed commit来说,cherry-pick是最直接简便的方式。

内容的提问来源于stack exchange,提问作者Nidhin S G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:51:37