不影响main分支时,解决feature与test分支冲突的最佳实践
问题场景
现有三个Git分支,职责划分清晰:
- feature:用于开发新功能的专属分支
- test:供所有开发者合并各自实现、统一开展测试的分支
- main:主分支,仅承载已上线的稳定生产代码
理想状态下test分支应与main分支保持一致,但目前test分支存在尚未合并到main的未验证变更,导致你的feature分支与test分支出现冲突。此时不能直接执行git merge test,因为会将未验证的代码引入你的feature分支,请问该如何处理?
最佳解决方案
采用临时中转分支的方案,既能解决冲突,又不会污染原始的feature分支,具体步骤如下:
- 基于你的feature分支创建临时分支
feature-test
git checkout -b feature-test feature
- 将test分支的变更合并到这个临时分支,在此分支上处理所有冲突
git merge test
- 将处理完冲突的
feature-test分支合并到test分支,在test环境完成功能验证 - 测试通过后,将原始的feature分支合并到main分支完成上线
内容的提问来源于stack exchange,提问作者monstereo
相关产品推荐
相关产品推荐

