Visual Studio 2013不提供在Git pull上进行合并

我正在使用Visual Studio 2013 Update 4和git(在Visual Studio Online上托pipe)。 我在远程分支有2个本地提交和2个提交。 没有本地更改提交:

工作目录干净

当我尝试在Visual Studio中执行Pull(或Fetch)时,出现错误:

发生错误。 详细信息:1冲突阻止结帐

发生错误。详细信息:1冲突阻止结帐

是的,有冲突,我应该合并。 根据这个页面,我应该提供一个解决冲突的链接。 但我没有看到在VS.

我可以在VS之外合并,但那不是重点。 同时,运行同样设置的同事可以毫无问题地进行合并。 我的VS有什么问题?

PS我有msysgit安装,可能已经搞乱configuration。 根据这篇文章,我的全局.gitconfig如下所示:

 [user] mail = trailmax@stackoverflow.com name = trailmax email = trailmax@stackoverflow.com [core] excludesfile = C:\\Users\\trailmax\\Documents\\gitignore_global.txt autocrlf = true editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor [diff] tool = vsdiffmerge [difftool "vsdiffmerge"] cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t keepbackup = false trustexistcode = true [merge] tool = vsdiffmerge [mergetool] prompt = true [mergetool "vsdiffmerge"] cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m keepbackup = false trustexistcode = true [credential] 

在我的情况下,我看不到Resolve the conflicts选项,因为我有本地更改尚未提交,我试图与远程更改同步。 只要我提交我的本地更改 ,然后再次尝试同步, Resolve the conflicts链接出现。

所以这里的重点是:首先提交您的更改,然后尝试同步。 合并将开始,Visual Studio将允许您经历每个冲突

在这里输入图像说明

我遇到了同样的问题,其中“出现错误。详细信息:1冲突阻止结帐”显示在没有选项来解决冲突,如莱纳尔的答案中所示。

原因是由于未跟踪的文件是相同的文件将被拉。 我刚刚删除了未跟踪的文件,并重试了拉。

我遇到过同样的问题。 事实certificate,我有一个未被跟踪的文件,需要包括在内。 因此,请在“更改”选项卡中查找未跟踪的文件。

我没有在任何一个分支上列出任何“变化”(未经追踪或以其他方式),所以其他答案对我来说并不适用。

我决定去命令行:

  1. 点击两个分支上的同步
  2. 切换到你想要“合并到”的分支(在我的情况下主)。
  3. 在“ pipe理分支 下的“团队资源pipe理器”中,执行操作 – >打开命令行
  4. 在命令行中键入git merge BRANCH_NAME 。 (我的工作分支/从“合并”)
  5. 现在解决冲突button可用。

如果拉动过程中的冲突是关于线路终点的话:

 git config --global core.autocrlf false 

这应该避免任何自动eol转换。

如何在工作树中检测到这种情况( git diff --word-diff-regex=. ),您可以在“ 为什么git认为一个未触及的文件的每一行已经改变 ”中看到更多。