Git多变更场景分支操作疑问:同文件修改会导致PR覆盖吗?
Git分支并行处理同文件Bug的解决方案
为什么develop_bug2看不到bug1的修改?
- 因为你创建develop_bug2分支时,是基于未合并bug1修改的原始develop分支。develop_bug1是独立分支,它的修改仅存在于自己的分支中,并未同步到develop,所以切换到develop_bug2后看不到这些变更。
完成bug2的PR会覆盖bug1的修改吗?
- 不会直接覆盖,但会触发代码冲突。当两个分支的PR都尝试合并到develop时,Git会检测到file1.jsp存在两处独立修改,需要手动解决冲突后才能完成合并。
具体处理方案
方案1:bug2依赖bug1的修改
如果bug2的代码必须基于bug1的修改才能正常运行:
- 切换到bug2分支:
git checkout develop_bug2 - 合并bug1分支的修改:
git merge develop_bug1 - 打开file1.jsp处理代码冲突,解决后执行:
git add file1.jspgit commit
- 继续完成bug2开发,提交后更新PR即可。
方案2:两个bug修改相互独立
如果两个bug的修改没有依赖关系,只是恰好修改了同一文件:
- 正常完成bug2的开发并提交PR
- 先合并bug1的PR到develop分支
- 切换到bug2分支,拉取最新develop代码:
git pull origin develop - 手动解决file1.jsp的冲突,提交后更新PR,再完成合并。
日常操作建议
创建新bug分支前,先确保基于最新的develop代码:git checkout develop && git pull origin develop && git checkout -b develop_bugX
内容的提问来源于stack exchange,提问作者Tech NewB
相关产品推荐
相关产品推荐

