TFS合并冲突

TFS合并冲突,tfs,merge,tfvc,Tfs,Merge,Tfvc,我有主分支和开发分支。我在这两个方面都做了更改并签入。我从main合并到dev并签入。现在我从dev合并到main。我有矛盾。这怎么可能呢?解决一个方向上的合并冲突不一定适合另一个方向上的合并。在许多工作流中,您基本上是为了保持两个分支尽可能相似而进行合并——例如,将开发分支的更改转换为生产分支,或者将关键的错误修复从生产分支移回开发分支。在这种工作流中,在合并两个分支时,您通常不希望出现分歧(毕竟,您希望两个分支中都有关键的错误修复),因此不清楚为什么两次都必须解决合并冲突,但这肯定不是处理分

我有主分支和开发分支。我在这两个方面都做了更改并签入。我从main合并到dev并签入。现在我从dev合并到main。我有矛盾。这怎么可能呢?

解决一个方向上的合并冲突不一定适合另一个方向上的合并。在许多工作流中,您基本上是为了保持两个分支尽可能相似而进行合并——例如,将开发分支的更改转换为生产分支,或者将关键的错误修复从生产分支移回开发分支。在这种工作流中,在合并两个分支时,您通常不希望出现分歧(毕竟,您希望两个分支中都有关键的错误修复),因此不清楚为什么两次都必须解决合并冲突,但这肯定不是处理分支时的唯一工作流

我曾经在一个Java项目上工作,该项目有一些实用程序库,我们与一个从事不同项目的小组共享。在某种程度上,我们的图书馆由于各种原因需要与他们的不同,因此我们选择了他们项目的一个分支,两个小组都对图书馆进行了独特的更改。有时我们会修复一个bug,有时他们会添加一个新特性,所以我们经常相互合并

您可以在这里看到,从我们的分支机构合并到他们的分支机构的结果不一定是从他们的分支机构合并到我们的分支机构的结果。假设有一个文件,我们在其中添加了一些新方法,可能修复了一些bug。让我们假设他们添加了一些不同的方法。当他们将我们的更改合并到他们的分支中时,他们会遇到合并冲突,我们假设他们接受了错误修复,但没有接受我们的新方法,因为他们不需要它们。现在,当我们进行合并以将它们的更改放到分支中时,仍然会出现合并冲突-这允许我们将它们的方法放入我们的文件中

如果TFS根据我们的分公司与他们的分公司的合并结果,对他们的分公司与我们的分公司的合并做出一些假设,那将是不准确的