我有三个分支Master,Test1,Test2(由Master创建的Test 1和Test 2)
现在在Test1分支中,我对单个文件进行了一些更改(例如更新方法代码和签名),然后创建了一个pull请求,以将其与Master合并。
我看到没有显示任何冲突,并且已成功合并。
现在再次在Test2分支中,我对单个文件进行了一些更改(例如更新方法代码和签名),然后创建了一个pull请求,以将其与Master合并。这次我遇到合并冲突错误。
我的问题是:为什么在将Test1代码合并到Master时在第一种情况下它没有显示任何合并冲突。
在哪种确切情况下,我们会遇到合并冲突?
答案 0 :(得分:0)
当两个分支都偏离合并的两个部分之间的最后一个共同祖先时,就会发生冲突(在这种情况下,请忽略章鱼(超过两个分支)合并的情况)。
在第一次PR期间,只有一侧发生了变化,即Test1中的一侧。直接合并。
但是,当您进行第二次PR时,master已经从创建Test2时的状态发生了变化,因此这两个部分都被视为对最后一个共同祖先来说是新的。
为避免在第二个PR上发生此冲突,您可以(例如)在制作PR之前在Test2中合并母版。然后,您将拥有一个最新的母版,而PR只会在Test2端找到更改。
此外,欢迎使用Stack Overflow o /