如何让Visual Studio在git下显示合并冲突?
我使用的是Visual Studio 2015 Pro,正在使用Git回购。假设我做了一个拉取或应用了隐藏的更改,或者做了一些导致分支发生冲突的事情。例如,在本例中,我只应用了一个隐藏: 如您所见,我做了很多更改,但Web.config存在冲突。为什么XML文件总是有冲突 现在,我进入Visual Studio,进入团队资源管理器->更改: 在这里,我看到了我的阶段性更改,但没有任何未阶段性更改。我想知道为什么Web.config没有显示在这里,这样我就可以解决冲突了 两件事:如何让Visual Studio在git下显示合并冲突?,git,visual-studio,visual-studio-2015,Git,Visual Studio,Visual Studio 2015,我使用的是Visual Studio 2015 Pro,正在使用Git回购。假设我做了一个拉取或应用了隐藏的更改,或者做了一些导致分支发生冲突的事情。例如,在本例中,我只应用了一个隐藏: 如您所见,我做了很多更改,但Web.config存在冲突。为什么XML文件总是有冲突 现在,我进入Visual Studio,进入团队资源管理器->更改: 在这里,我看到了我的阶段性更改,但没有任何未阶段性更改。我想知道为什么Web.config没有显示在这里,这样我就可以解决冲突了 两件事: 我相信如果我
git config--global merge.tool
已经是vsdiffmerge
,因此如果我从命令行运行git mergetool
,它将使用Visual Studio进行合并。然而,这样做会产生一个全新的VisualStudio实例,它既慢又烦人,而且不允许我在项目其余部分的上下文中工作有人对此有什么见解吗?谢谢 在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>
/mnt/c/git/ConsoleApp1>git状态
论分行行长
要提交的更改:
(使用“git重置磁头…”取消分级)
修改:ConsoleApp1/Class1.cs
修改:ConsoleApp1/Program.cs
/mnt/c/git/CONSOLEAP1>git隐藏应用
自动合并控制台EAPP1/Program.cs
冲突(内容):合并ConsoleApp1/Program.cs中的冲突
/mnt/c/git/CONSOLEAP1>git状态
论分行行长
要提交的更改:
(使用“git重置磁头…”取消分级)
修改:ConsoleApp1/Class1.cs
未合并路径:
(使用“git重置磁头…”取消分级)
(使用“git add…”标记分辨率)
两者都已修改:ConsoleApp1/Program.cs
/mnt/c/git/CONSOLEAP1>
颜色:
您是否找到了解决问题的方法?我发现VS有时会意识到存在冲突,有时不会——似乎没有任何一致性,所以我没有找出任何原因。我没有。我现在只使用命令行处理所有事情。我相信VS2017具有更好的Git集成,但不幸的是,我们没有升级的预算。@MikeChristensen请记住,真正的,只有一个Git在命令行中。GUI试图通过在后台隐藏大量内容来对您友好;但从长远来看,它们弊大于利。或者使用一个好的GUI(例如Sourcetree)来解决repo中更复杂的问题……使用不同的编辑器对您有用吗?您可以尝试使用VS代码。它会自动与文件同步,并显示冲突。我意识到这并不是对你问题的回答,但对某些人来说,这可能是解决这个问题的办法。