【发布时间】:2017-01-09 23:25:32
【问题描述】:
我正在使用 Visual Studio 2015 Pro 并使用 Git 存储库。假设我进行了拉取或应用了隐藏的更改,或者做了一些导致我的分支发生冲突的事情。例如,在这种情况下,我只是应用了一个 stash:
如您所见,我有很多更改,但 Web.config 存在冲突。为什么总是 XML 文件有冲突?
现在,我进入 Visual Studio 并转到 Team Explorer->Changes:
在这里,我看到了分阶段的更改,但有 零 个未分阶段的更改。我想知道为什么 Web.config 没有出现在这里,所以我可以解决冲突。
两件事:
- 我相信如果我要使用 Visual Studio 进行 Pull,它会检测到然后运行合并工具的冲突。我还没有尝试过,但我知道它适用于 TFS。但是,我想知道是否可以从命令行使用 git pull,然后使用 Visual Studio 解决冲突。
-
git config --global merge.tool已经是vsdiffmerge,所以如果我要从命令行运行git mergetool,它将然后使用 Visual Studio 进行合并。但是,这样做会生成一个全新的 Visual Studio 实例,它既慢又烦人,并且不允许我在项目的其余部分中工作。
有人对此有任何见解吗?谢谢!
【问题讨论】:
-
您找到解决问题的方法了吗?我发现 VS 有时会认识到存在冲突,有时则不会 - 似乎没有任何一致性,所以我没有孤立任何原因。
-
我没有。我现在只是使用命令行来处理所有事情。我确实相信 VS2017 有很多更好的 Git 集成,但不幸的是我们没有升级的预算。
-
@MikeChristensen 请记住,真正的且只有一个 Git 在命令行中。图形用户界面试图通过在后台隐藏很多东西来对你好。但从长远来看,它们弊大于利。或者使用良好的 GUI(例如 Sourcetree)来解决更复杂的回购问题...
-
使用不同的编辑器对你有用吗?您可以尝试使用 VS Code。它会自动与文件同步,并显示冲突。我知道这不是您问题的答案,但它可能是某人解决此问题的方法。
标签: git visual-studio visual-studio-2015