无法从github Visual Studio 2013克隆repo

时间:2018-03-13 18:28:19

标签: git github visual-studio-2013 cloning

我正在尝试使用Visual Studio 2013的本机git集成从github克隆项目(https://github.com/bhilburn/powerlevel9k是特定的,但所有github repos都以相同的方式失败)。

我试过去文件 - >从源代码管理中打开。这打开了"团队资源管理器"左边的窗口。然后我点击下拉菜单中的" Clone"在"本地Git存储库"标题。之后,我输入powerlevel9k的URL。 VS2013然后给了我一个非常无益的消息:"发生了错误。详细消息:发送请求时发生错误。"

Unhelpful Error Message

我被困住了。我不知道该怎么做。我没有尝试似乎工作。我尝试过的所有github repos都给了我同样的错误信息。

如果有人能帮助我解决这个问题,我会永远很好。

3 个答案:

答案 0 :(得分:0)

<强> TL; DR
这不是一个解决方案,而是我们尝试过的(没有一个工作) 这样,以后可能偶然发现这个问题的其他任何人都可以提供其他想法/解决方案。

正如其他SO question/answer指出的那样(直到昨天下午才能看到),最好使用Git的另一个工具,而不是依赖VS 2013的Git支持。

完整解释
从我在网络上找到的内容来看,这个相当无用的错误消息很可能表明在尝试连接/使用https存储库时存在证书问题(如this blog article中所述):

  

HTTPS端点的特殊注意事项
  如果将HTTPS URI用于远程,则Windows证书存储区用于验证服务器的SSL证书。

     

如果要推/拉的服务器具有自签名功能   证书,然后在撰写本文时,我们给出一个不幸和含糊的   向用户发送错误消息。 “发送时出错   请求“ [强调我加入]是常见的。你应该使用Windows   证书管理器(certmgr.msc)以添加自签名证书   (或证书链顶部的权威机构)   Windows证书存储作为可信证书,然后尝试您的   再次进行网络运营。

从SO问题(在答案开始时链接)指出(巧合地链接到与上述相同的文章),它根本不清楚需要添加哪些证书。

经过更多搜索,我发现似乎可能与another article有关(处理SSL和证书问题)(虽然它是关于VS 2015,而不是2013年,并且错误信息不相同) :

  谷歌把我指向生活在其根目录的.gitconfig文件   你的用户目录。当我看到它包含的不多时   all - 只是对我测试过的最近克隆的存储库的引用   与上面。所以我添加了必要的设置来告诉Git找到它   受信任的证书与命令行工具所在的位置相同   报道:

     

[HTTP]       sslcainfo = C:/ Program Files / Git / mingw64 / ssl / certs / ca-bundle.crt

     

非常明显的是修复了Visual Studio ......

这就是我对Avi的尝试:

  1. 如果打开则关闭Visual Studio
  2. 在命令提示符下,运行以下命令:git config --list
  3. 从输出中查看是否存在&#39; http.sslcainfo&#39;条目。  它应该/可能有类似&#34; C:\ Program Files \ Git ... \ certs \ cabundle.crt&#34;
  4. 复制该路径
  5. 在用户目录的gitconfig文件中,尝试添加(将此处显示的路径替换为步骤4中的路径): [HTTP] sslcainfo = C:/ Program Files / Git / mingw64 / ssl / certs / ca-bundle.crt
  6. 保存文件
  7. 重新启动Visual Studio并尝试连接/推送/拉入Github存储库
  8. Avi还尝试导入&#39; ca-bundle.crt&#39;证书进入Windows证书管理器。

    最后,但并非最不重要的是,Avi尝试将相同的[http]块添加到&#39; config&#39;根据具体的回购文件&#39; .git&#39;夹。

答案 1 :(得分:0)

请确认以下内容。

  1. 您要连接的服务器处于活动状态。
  2. 您要连接的服务器不是blocking your IP
  3. 连接服务器的网址有效
  4. 您和您的服务器连接到路由器,您正在使用ISP XYZ 连接到路由器 ABC ,但是您的服务器正在连接路由器 DBA >使用ISP HKA ,您认为我位于服务器所使用的ISP和路由器上,但​​是事实并非如此。要与服务器连接或进行更改,您和您的服务器必须使用同一路由器(仅在此情况下)与同一ISP连接。

您可以尝试在Linux或Windows中使用ping命令访问服务器

  

ping 192.168.100.3(用服务器IP替换IP)

答案 2 :(得分:0)

我们最近在移动某些Git存储库时遇到了相同的错误。在我们的案例中,问题是GitHub不再支持this GitHub posting中所述的TLSv1或TLSv1.1协议。

  

自2018年2月8日起,我们将禁用以下功能:   TLSv1 / TLSv1.1:这适用于所有HTTPS连接,包括与https://github.comhttps://api.github.com的Web,API和git连接。

这些是Visual Studio 2013在其Git集成中使用的协议。 post on the Microsoft Developer community建议升级到Visual Studio 2017的最新版本。

在我们可以升级到Visual Studio 2017之前,我们暂时使用了a Visual Studio add-in for 2013。该插件允许Visual Studio使用TLSv1.2协议。