在 bitbukcet 中合并冲突查询



我有三个分支Master,Test1,Test2(从Master创建的测试1和测试2(

现在在 Test1 分支中,我对单个文件进行了一些更改(例如更新方法代码和签名(,然后创建了一个拉取请求以将其与 Master 合并。

我看到没有显示冲突,并且已成功合并。

现在再次在 Test2 分支中,我对单个文件进行了一些更改(例如更新方法代码和签名(,然后创建了一个拉取请求以将其与 Master 合并。这次我得到了合并冲突错误。

我的问题是:为什么在将 Test1 代码合并到 Master 时,它在第一个场景中没有显示任何合并冲突。

在哪种确切情况下,我们将遇到合并冲突?

当两个分支都与合并的两个部分之间的最后一个共同祖先分道扬镳时,就会发生冲突(在这种情况下,我们忽略章鱼(超过 2 个分支(合并的情况(。

在第一次 PR 期间,只有一侧发生了变化,即 Test1 中的一侧。直接合并。

但是,当您进行第二个 PR 时,master 已经从创建 Test2 时的状态发生了变化,因此这两个部分都被视为最后一个共同祖先的新部分。

为了避免在第二个 PR 上发生这种冲突,您可以(例如(在进行 PR 之前在 Test2 中合并 master。然后,您将拥有一个最新的母版,并且 PR 只会在 Test2 端找到更改。

另外,欢迎来到堆栈溢出 o/

最新更新