繁体   English   中英

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

[英]How can I get Visual Studio to show merge conflicts under git?

我正在使用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实例,这个实例很慢而且很烦人,并且不允许我在我的项目的其余部分中工作。

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

在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>

有颜色:

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM