如何让Visual Studio在git下显示合并冲突?

Mik*_*sen 11 git visual-studio visual-studio-2015

我正在使用Visual Studio 2015 Pro并使用Gi​​t repo.假设我做了拉动或应用隐藏的更改或做了一些导致我的分支发生冲突的事情.例如,在这种情况下,我只是应用了一个存储:

在此输入图像描述

正如您所看到的,我有一些更改,但Web.config存在冲突.为什么始终存在冲突的XML文件?

现在,我进入Visual Studio并转到Team Explorer-> Changes:

在此输入图像描述

在这里,我看到我的暂存的变更,但也有零个不分级的变化.我想知道为什么Web.config没有显示在这里,所以我可以解决冲突.

两件事情:

  1. 相信如果我使用Visual Studio 进行Pull,它会检测到然后运行合并工具的冲突.我还没有尝试过这个,但我知道它对TFS有用.但是,我想知道我是否可以从命令行使用git pull然后使用Visual Studio来解决冲突.
  2. git config --global merge.tool已经vsdiffmerge所以如果我是运行git mergetool在命令行,那就使用Visual Studio合并.但是,这样做会产生一个全新的Visual Studio实例,这个实例很慢而且很烦人,并且不允许我在项目的其余部分工作.

有人对这个有任何见解吗?谢谢!

tym*_*tam 3

在 Visual Studio Professional 2017 15.7.4 中,“更改”窗口似乎显示冲突。

在此输入图像描述

设置:

/mnt/c/git/ConsoleApp1>git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   ConsoleApp1/Class1.cs
        modified:   ConsoleApp1/Program.cs

/mnt/c/git/ConsoleApp1>git stash apply
Auto-merging ConsoleApp1/Program.cs
CONFLICT (content): Merge conflict in ConsoleApp1/Program.cs
/mnt/c/git/ConsoleApp1>git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   ConsoleApp1/Class1.cs

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

        both modified:      ConsoleApp1/Program.cs

/mnt/c/git/ConsoleApp1>
Run Code Online (Sandbox Code Playgroud)

有颜色:

在此输入图像描述