如何在Visual Studio 2017中使用不同的Git版本?

7

对我来说,Visual Studio中的Git非常慢。为了解决这个问题,我尝试使用已安装的Git for Windows。Process Monitor显示Visual Studio仍在使用包含的Git版本。我的PATH变量包含

C:\Program Files (x86)\Git\cmd; 

但不包括。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe

在Visual Studio的外部Web工具选项中,我将前两个Git路径指向它们在Windows上的等效Git路径。

Visual Studio options External Web Tools

我正在使用以下版本:

  • Visual Studio Professional 2017 版本 15.6.4 (已应用最新更新)
  • Git for Windows Git-2.16.2-32-bit.exe(最新版本)
  • Windows 10 Enterprise 64 位

5
Visual Studio将使用内置的版本,因为它是一个非常简化的版本,与Visual Studio解析Git生成的输出时所期望的行为完全匹配。有趣的是,Git速度较慢。您可以分享一些关于您的Git存储库、病毒扫描器、可能存在于您笔记本电脑上的企业政策、Git存储库的位置(网络驱动器、本地磁盘、本地SSD)的详细信息吗?有哪些特定的操作是缓慢的?最新的预览版本是否更好? - jessehouwing
一旦我只是移除了捆绑的git子目录,它就开始使用系统自带的git了 :) 但我不认为这会对性能有所帮助。 - max630
@ofthelit,你在进行Git操作时遇到了性能问题吗? - Chad B
查看分支或文件的历史记录,显示文件的更改,切换分支,获取、拉取、推送、变基...真的是一应俱全。对于其他同事来说似乎都很正常。我将.gitconfig和VS设置从网络驱动器中移出。使用Symantec Endpoint Protection进行安全保护。该仓库位于我的本地笔记本电脑SSD上,但有许多不必要的软件包被检入其中。 - ofthelit
在 https://developercommunity.visualstudio.com/content/problem/79527/team-explorer-slow-git.html 中提到的 60 秒减速问题非常熟悉,但已经得到解决。尝试使用预览版本可能不是一个坏主意。当我的直觉用尽时,我会发表一个新的问题。 - ofthelit
显示剩余3条评论
1个回答

8

VS包含了MinGit安装,而不是完整的Git for Windows安装。MinGit是Git for Windows发行版的官方子集,并可与Git for Windows安装程序一起下载。

VS之所以这样做有几个原因。一个原因是为了可靠和可预测的行为。VS需要解析各种Git命令的输出,而不是所有命令都有瓷器输出可用。该输出会不时更改,而解析器必须更新。通过包含MinGit,VS可以在每次发布之前验证其使用的命令的行为。例如,2.16版本的MinGit就发生了这种情况,在少数命令中带来了输出变化,我们需要在转移到该版本之前处理这些变化。删除VS包含的MinGit副本可能会破坏Git集成。

另一个原因是为了缩小Git for Windows的安装大小,因为它大约有几百兆字节,而MinGit只有不到50兆字节。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接