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

如何仅合并Git特性分支的专属变更?

解决特性分支向release分支精准合并的问题

方法一:用git rebase --onto重放特性提交到release

这是最高效的方案,能把特性分支中仅属于自身的提交完整迁移到release分支基础上:

  1. 先定位特性分支从dev分叉的起始提交(即特性分支创建时的dev节点),用命令获取其哈希值:
    git merge-base feature/your-feature dev
    
    记这个哈希值为<start-commit>
  2. 切换到目标特性分支:
    git checkout feature/your-feature
    
  3. 执行变基,将特性分支中<start-commit>之后的所有提交重放到release分支上:
    git rebase --onto release <start-commit>
    
  4. 此时特性分支的提交已完全基于release,直接切换到release分支完成合并:
    git checkout release
    git merge feature/your-feature
    
  5. 若后续还要向dev合并特性分支,可再将其切回dev的基础:
    git checkout feature/your-feature
    git rebase --onto dev <start-commit>
    

方法二:批量cherry-pick特性分支提交

如果不想修改特性分支的提交历史,可一次性挑选特性分支的所有专属提交:

  1. 同样先找到特性分支的起始提交<start-commit>,以及特性分支的最新提交<end-commit>(可直接用分支名代替)
  2. 切换到release分支:
    git checkout release
    
  3. 执行范围cherry-pick,一次性应用特性分支的所有提交:
    git cherry-pick <start-commit>..<end-commit>
    
  4. 若遇到冲突,解决后执行git cherry-pick --continue继续即可

注意事项

  • 变基操作会修改提交历史,如果特性分支已推送到远程仓库,团队协作时需提前沟通,推送时使用git push --force-with-lease避免覆盖他人变更
  • 若特性分支包含合并提交,cherry-pick范围操作可能会遗漏,此时推荐用变基方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:12:37