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

如何解决feature分支合并至test分支的冲突且不影响feature分支

解决feature分支合并到test分支的冲突且不污染feature分支的方法

核心思路是通过临时中间分支处理冲突,完全不改动原feature分支,确保后续合并到production时的干净性,以下是两种可行方案:

方法一:临时合并分支(操作直观,推荐)

  1. 确保本地feature分支为最新状态,无未提交变更:
    git checkout feature
    git pull origin feature
    
  2. 从feature分支创建临时分支,专门用于处理与test分支的冲突:
    git checkout -b feature-test-merge
    
  3. 合并test分支到临时分支,手动解决所有冲突后提交:
    git merge origin/test
    # 打开冲突文件手动解决,完成后执行
    git add .
    git commit -m "Resolve conflicts between feature and test"
    
  4. 将处理好的临时分支合并到test分支并推送:
    git checkout test
    git merge feature-test-merge
    git push origin test
    
  5. 删除临时分支(本地及远程,若已推送):
    git branch -d feature-test-merge
    # 若推送到远程,执行 git push origin --delete feature-test-merge
    

方法二:基于rebase的分支重放(适合习惯rebase的场景)

通过将feature分支的提交重放到test分支的最新版本上,全程不修改原feature分支:

  1. 拉取远程最新分支信息:
    git fetch origin
    
  2. 创建基于test最新版本的临时分支,将feature相对于production的提交重放上去:
    git checkout -b feature-rebased-on-test origin/test
    git rebase --onto origin/test origin/production feature
    
    注:origin/production是feature分支的创建起点,此命令会把feature分支中所有相对于production的提交,重新应用到test的最新版本上,过程中需手动解决冲突。
  3. 解决冲突后,将临时分支合并到test分支并推送:
    git checkout test
    git merge feature-rebased-on-test
    git push origin test
    
  4. 删除临时分支即可,原feature分支保持纯净。

额外注意事项

  • 解决冲突时,只保留feature分支的业务变更,以及test分支中必须兼容的必要逻辑,严禁引入test分支内的临时调试代码、未完成功能等非发布内容。
  • 合并完成后,务必在test分支做完整功能测试,验证冲突解决后的逻辑正确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:02:45