一、博客背景
本篇博客仅作为工作记录使用,记录自己解决问题的过程,同样,本篇博客中介绍的方法不适合所有的人解决冲突。
二、分支介绍
master分支
test分支
dev-wuzhu分支(自己开发的分支)
dev-xiali分支(同事开发的分支)
分支使用前提:我现在所在的公司的发布流程是,先将自己的分支合并到test上,如果test分支发布且测试没问题后,合并到master分支发布生产环境,且不允许将test分支往自己的分支上合并,因为这样会存在将在test分支上,尚未测试通过的分支合并到本地分支时,在往master分支合并时,发布到生产环境
三、遇到问题
某天,同事和我同步修改了一个A.java文件,且同事先提交的代码,在我往test分支合并代码时出现了冲突。
四、解决方案
在自己的dev-wuzhu分支的基础上,在新建一个分支dev-wuzhu-2,然后再将test分支上的代码合并到dev-wuzhu-2的分支上,在本地解决冲突后,再将dev-wuzhu-2的分支合并到test分支上,这样test分支上就已经有了自己的功能代码,也有了同事的功能代码。然后再将dev-wzhu-2这个临时解决冲突的分支删除。最后发布生产环境时,将自己的dev-wuzhu的分支合并到master上去,也不会包含同事的分支代码
当然如果你们公司允许直接在测试分支上改代码的话,那么你可以在开发工具上,将测试分支拉取下来,然后将你的开发分支合并到测试分支,然后解决冲入并直接push到远程