TFS Git - 拉取请求'合并失败'

时间:2016-06-02 14:52:42

标签: git github tfs merge pull-request

您好我有TFS和git pull请求的问题。

我们有两个主要分支: -主 - 开发

所以我从 develop 创建新的分支async_data_loading并对其进行一些更改。接下来我提交并将我的更改推送到远程async_data_loading,然后创建新的pull请求以将我的更改合并到远程开发中,我得到了这个:

TFS Merge fail

但是当我试图从控制台发现任何合并冲突时,没有任何问题可以修复......我甚至可以将我的更改合并到我的本地开发中而没有任何问题。正如您在下面看到的,我当地的分支机构和开发人员都在同一个分支机构中。所以没有冲突可以解决,只是我的分支提前几次提交。

Branches graph

有人遇到过这个问题并解决了吗?我花了几个小时寻找解决方案,却一无所获。

有趣的是,如果我从 master 创建一个测试分支,然后按照开发的步骤进行操作,那么在TFS上将我的测试分支合并到master是没有问题的。

4 个答案:

答案 0 :(得分:2)

好的问题现在已解决。我们发现其中一个文件夹中的某些文件被复制了,它们的名称是其中一个开发人员系统上这些文件的完整路径,如下所示:

{PC_name} / Users / {user_name} / {full_path_to_local_file} .cs

当我们删除这些文件时,TFS突然能够在服务器上完成合并而无需抱怨。

令我烦恼的是没有任何信息,为什么服务器上的合并失败。这肯定是MS应该在未来解决的问题......

答案 1 :(得分:1)

我们遇到了类似的问题。在我们的例子中,TFS用户的电子邮件中的尖括号(< >)使得LibGit2Sharp在引擎盖下抛出异常,这在TFS的错误消息中没有显示(与OP描述的视觉效果相同) 。我还在这里用堆栈跟踪发布了一个答案:

https://stackoverflow.com/a/39841140/2496266

答案 2 :(得分:0)

在TFS 2015.2 + VS 2015.2中测试,无法重现此问题。 合并两个更改相同文件的分支时,通常会发生冲突。确保在分支之前获取 develop 分支的最新版本。

答案 3 :(得分:0)

我们最近遇到了这个问题,并且只是找到了它的时间。 eventvwr超级嘈杂,对我们没有任何好的信息。

我做了什么来找到问题是采用了一个代码库的版本并放入一个不同的回购并将其设置为我们的主线(开发,无论如何)。然后拿走我们的完整主线并设置一个功能分支。然后我在完整的主线/功能分支中进入分离模式,并开始创建不同的分支(基本上是二进制搜索)。我为所有这些场景创建了Pull请求,如果它再现了“合并失败”的问题,我知道我去了很远。如果我得到一个干净的合并,我知道我需要走得更远。

最终我们找到了一个名称为'\'的文件。 删除此文件我能够清除所有内容。我怀疑这是因为大多数PR / Merging功能都发生在Windows平台上。

如果您正在使用更少噪音和更多重要信息来监听更新eventvwr,请使用MS。