Visual Studio 2017附带了自己的Git版本。不幸的是,它不支持SSH 和它不包含发行者的根证书,用于保护我们的存储库的SSL证书。因此,每当我们尝试克隆,拉动或推送时,我们都会收到此错误:
克隆远程存储库时遇到错误:Git因致命错误而失败。 致命:无法访问' https:// ******** /':SSL证书问题:无法获得本地颁发者证书
看起来Visual Studio 2017附带了自己的Git版本。最新版本的Git,2.12.2通过在验证SSL证书时添加对查看Windows证书存储区的支持来修复上述问题。 是否有任何方法可以将Visual Studio配置为使用全局安装的Git版本?如果解决方案适用于Visual Studio版本,则可以获得奖励积分。
答案 0 :(得分:6)
这可能会有点晚了,但是以防万一其他人正在寻找此信息并在这里结束,您可以通过执行以下操作来告诉Visual Studio 2017/2019使用系统安装的Git版本:
$(DevEnDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd
$(DevEnDir)\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin
请注意,此截图是在Google上找到的,因为我没有计算机上的实际截图。因此可能看起来有些不同。
将其替换为系统安装版本的git的位置。
第五步示例如下:
C:\Program Files\Git\bin
C:\Program Files\Git\mingw64\bin
最后,您将需要完全关闭Visual Studio。为了安全起见,我建议您进行一次真正的重启,因为有时即使重新打开Visual Studio后也看不到那些更改。
答案 1 :(得分:3)
Visual Studio安装的Git版本也引起了我的问题,所以我已经替换了Visual Studio部署自己版本的整个文件夹:
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Git \
从here下载最后一个32位版本。重新启动IDE后,问题已经消失,欢迎从Visual Studio设置中更改此选项,但至少可以使用此解决方法。
答案 2 :(得分:1)
我没有在粗体中找到您的直接问题的答案,但我有类似的SSL证书问题,我已通过以下链接解决了这个问题:
Git in VS2017 with self-signed SSL
简而言之:找到Visual Studio正在使用的certs文件夹的位置。它将是这样的:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\ssl\certs
我发现这是通过下到/ 2017目录并从那里搜索。
下一步:打开ca-bundle.crt并在该文件中复制完整的base64编码证书(包括开始和结束标记),然后保存。
使用fetch或其他类似测试。
希望这可以解决至少一半的问题!
答案 3 :(得分:0)
我使用了符号链接到系统安装的git文件夹位置。 32位或64位工作。这样我就不必有多个git安装。这个方法的问题是,当Visual Studio更新时,它会破坏已安装的git及其版本,因此必须删除该链接。
不是一个完美的答案,我同意有一种方法可以使用系统安装版本或配置嵌入式版本。