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

如何仅将develop分支的部分早期提交合并到main分支?

只合并Develop分支的部分提交到Main的两种方法

你完全可以直接基于提交ID合并,也可以用临时分支的方式,两种方法各有适用场景,具体操作如下:

方法一:用git cherry-pick直接合并指定提交

这是最灵活的方式,适合单个或不连续的零散提交:

  • 先切换到main分支并拉取最新远程代码:
    git checkout main
    git pull origin main
    
  • 切换到develop分支,查看提交历史找到要合并的提交ID(用git log --oneline可以看到简短的哈希值,比如a1b2c3d):
    git checkout develop
    git log --oneline
    
  • 切回main分支,执行cherry-pick:
    • 单个提交:git cherry-pick a1b2c3d
    • 连续的一段提交(比如从提交X到提交Y,包含X):git cherry-pick X^..Y
    • 多个不连续的提交:依次执行git cherry-pick 提交ID1、git cherry-pick 提交ID2
  • 如果遇到冲突,解决冲突后执行git cherry-pick --continue;想放弃操作就用git cherry-pick --abort
  • 最后推送到远程main分支:git push origin main

方法二:创建临时分支合并连续提交

如果要合并的是develop上一段连续的早期提交,用临时分支合并更直观,能保留提交序列的连贯性:

  • 找到要合并的最后一个提交ID(比如x9y8z7w),基于该提交创建临时分支:
    git checkout -b temp-branch x9y8z7w
    
  • 切换回main分支并拉取最新代码:
    git checkout main
    git pull origin main
    
  • 合并临时分支到main:
    git merge temp-branch
    
  • 解决冲突后提交,推送到远程main:git push origin main
  • 完成后可以删除临时分支:
    git branch -d temp-branch
    

两种方法都能实现你的需求,根据提交的分布情况选就行——零散提交用cherry-pick,连续提交用临时分支更省心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:22:09