Visual Studio 2017 Git 故障解决方案
2017-03-26 本文已影响0人
缺水的海豚
适逢 Visual Studio 2017 for Windows 正式版发布,兴高采烈的去更新了,第一次打开项目,就无语了……
无法从 Git 上 Clone、Push、…… 代码!!!
安装环境:
- Windows 7 Pro x64
- Visual Studio 2013(已有)
- Visual Studio 2017(新装,两个并存)
- 安装 VS2017 时,在 单个组件 里面,只安装了 适用于 Windows 的 Git,没有安装 适用于 Visual Studio 的 Github 扩展。
- 由于之前使用 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)。
解决方案
- 不用去删(或改后缀),压根就不要去动
libcurl-4.dll
这个文件,保持原样就好。 - 先把已经安装好的 Git for Windows 卸载了。
- 删除 VS2017 自带的 Git。
- 到团队协作目录中,删除 Git 文件夹(我是将该目录下的整个 Git 文件夹删除了)。
团队协作的目录是:<VS 安装路径>\Microsoft Visual Studio\2017\<版本>\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\\
- 重新安装 VS2017 自带的 Git。
- 安装新版的 Git for Windows(我安装的是 v2.12.1 x64)。
- 全部功能恢复正常。
重新安装 VS2017 自带的 Git,并不需要全部重装 VS2017,步骤如下:
- 双击打开 VS2017 的安装器(就是从 MS 官网下载的那个 1mb+ 那个文件)。
- 对已安装的 VS2017 相应的版本进行修改。
- 在 单个组件 中,将 适用于 Windows 的 Git 前面的勾去掉,然后点 修改 按钮。
- 待上面的修改完成后(暂时不用关修改界面,因为马上还要重装),进行下面的删除操作。
- 到团队协作目录中去把 Git 文件夹删除掉。
- 重新在步骤 4 的界面上,找到已安装的 VS 版本,点 修改。
- 然后在 单个组件 中把 适用于 Windows 的 Git 前面的勾再勾上。
- 最后点 修改 按钮,静待完成,就大功告成了。
至此,VS2017 的 Git 功能就全部重新安装了,Clone、Push、…… 一切如旧了。
附录:
- 本文方法原文(stackoverflow,E 文)
- VS 官网讨论此问题