Visual Studio 2017 Git 故障解决方案

适逢 Visual Studio 2017 for Windows 正式版发布,兴高采烈的去更新了,第一次打开项目,就无语了……

无法从 Git 上 Clone、Push、…… 代码!!!

安装环境:

  • Windows 7 Pro x64
  • Visual Studio 2013(已有)
  • Visual Studio 2017(新装,两个并存)
  1. 安装 VS2017 时,在 单个组件 里面,只安装了 适用于 Windows 的 Git,没有安装 适用于 Visual Studio 的 Github 扩展
  2. 由于之前使用 VS2013,所以,安装了 Git for windows 2.8.1 32位版本。

本想这次在安装 VS2017 时,把 Git for Windows(如果觉得官网下载慢,可到这里下载 Git for Windows v2.12.1 x64) 一并更新到 2.12.1,结果,悲剧了。

在 VS2017 中,通过 Git 获取代码时,一直报错,内容如下:

克隆远程存储库时遇到错误: Git failed with a fatal error.
fatal: unable to access ‘https://my_git_server/git_name.git’: Protocol https not supported or disabled in libcurl

初看这个错误,以为是 libcurl 的问题,于是,到处去找解决方案,还真找到了一个方案:就是在 C:\Windows\SysWOW64 目录下,找到 libcurl-4.dll 该文件,把它删了(保险起见,可在其后缀名后多添加一个 .old 的后缀,以达到禁用的目的。)

根据网上的办法,修改了之后,再回到 VS2017 中去 Clone 代码,晕死!还是报错,但是错误内容不一样了,如下所示:

克隆远程存储库时遇到错误: Git failed with a fatal error.
CloneCommand.ExecuteClone

错误越来越奇怪了,我觉得可能方向找错了,于是,满MS官网去翻,两个小时过去了,终于找到了完美的解决方案了,特记录下来(PS. 不知道算不算是 VS2017 的小 Bug)

解决方案

  1. 不用去删(或改后缀),压根就不要去动 libcurl-4.dll 这个文件,保持原样就好。
  2. 先把已经安装好的 Git for Windows 卸载了。
  3. 删除 VS2017 自带的 Git。
  4. 到团队协作目录中,删除 Git 文件夹(我是将该目录下的整个 Git 文件夹删除了)。
    团队协作的目录是:\Microsoft Visual Studio\2017\<版本>\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\\
  5. 重新安装 VS2017 自带的 Git。
  6. 安装新版的 Git for Windows(我安装的是 v2.12.1 x64)。
  7. 全部功能恢复正常。

重新安装 VS2017 自带的 Git,并不需要全部重装 VS2017,步骤如下:

  1. 双击打开 VS2017 的安装器(就是从 MS 官网下载的那个 1mb+ 那个文件)。
  2. 对已安装的 VS2017 相应的版本进行修改。
  3. 单个组件 中,将 适用于 Windows 的 Git 前面的勾去掉,然后点 修改 按钮。
  4. 待上面的修改完成后(暂时不用关修改界面,因为马上还要重装),进行下面的删除操作。
  5. 到团队协作目录中去把 Git 文件夹删除掉。
  6. 重新在步骤 4 的界面上,找到已安装的 VS 版本,点 修改
  7. 然后在 单个组件 中把 适用于 Windows 的 Git 前面的勾再勾上。
  8. 最后点 修改 按钮,静待完成,就大功告成了。

至此,VS2017 的 Git 功能就全部重新安装了,Clone、Push、…… 一切如旧了。

附录:

  • 本文方法原文(stackoverflow,E 文)
  • VS 官网讨论此问题

你可能感兴趣的:(Visual Studio 2017 Git 故障解决方案)