TFS Git - 拉取请求 'Merge failed'

TFS Git - pull requests 'Merge failed'

您好,我遇到了 TFS 和 git 拉取请求的问题。

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

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

但是当我试图从控制台中找到任何合并冲突时,有 none 可以修复...我什至可以毫无问题地将我的更改合并到我的本地开发中。正如你在下面看到的,我的本地分支和开发在同一个 'branch' 上,所以没有冲突需要解决,只是我的分支领先于几个提交。

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

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

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

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

{PC_name}/用户/{user_name}/{full_path_to_local_file}.cs

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

让我烦恼的是缺少任何信息,说明为什么在服务器上合并失败。这肯定是 MS 将来应该解决的问题...

我们遇到了类似的问题。在我们的例子中,TFS 用户电子邮件中的尖括号 (< >) 使 LibGit2Sharp 在后台抛出异常,该异常未显示在 TFS 的错误消息中(与 OP 描述的视觉结果相同)。我还在此处发布了带有堆栈跟踪的答案:

我们 运行 最近才研究这个问题,花了很多时间才找到它。 eventvwr 非常嘈杂,没有给我们任何好的信息。

我为找到问题所做的工作是获取代码库的一个版本并将其放入 diff't repo 并将其设置为我们的主线(开发,无论如何)。然后采用我们的完整主线并为其设置一个功能 b运行ch。然后我在完整的主线/功能 b运行ch 中进入分离模式,并开始创建不同的 b运行ches(基本上是二进制搜索)。我为所有这些场景创建了 Pull Requests,如果它重现了 "merge failed" 问题,我知道我走得太远了。如果我得到一个干净的合并,我知道我需要走得更远。

最终我们找到了一个文件名中带有“\”的文件。 删除此文件后,我能够清除所有内容。我怀疑这是因为大多数 PR/Merging 功能出现在 Windows 平台上。

如果您正在收听更新 eventvwr 的消息,则

MS 会提供更少噪音和更多 material 信息。