git提供程序错误中不支持的URL协议

时间:2016-07-27 01:08:43

标签: git github visual-studio-2015 gitlab

我有两台独立的PC连接到同一个Gitlab仓库。两者都运行Visual Studio Update 3并使用Team Explorer和Git。在一台PC上,我没有问题更新项目,然后将提交推送到远程仓库。但是在另一台PC上,任何操作(推送或获取或同步)都会因dplyr错误而失败,尽管最初我设法克隆了回购。我怀疑它不喜欢连接字符串中的某些东西,因为我可以使用命令行git(版本2.9.2,因此相当近)提交和同步repo。导致此错误的原因是什么?是否有解决方法?

1 个答案:

答案 0 :(得分:19)

我检查了两个本地回购之间的区别,并且PC1上的git remote -v给出了:

  

原产地https://gitlab.com/ ......

在PC2上:

  

origin git@gitlab.com:...

经过进一步调查后,似乎VS2015 Update3使用的旧版LibGit2缺少SSH支持。第一个repo是原始的并在VS中创建,第二个repo是通过命令行克隆的,因此是SSH连接字符串。

解决方法是将.git/config中的连接字符串更改为

  

url = https://gitlab.com/ ...

如果一个人绝对需要SSH,那么可以重新编译gitlib2,或者使用命令行git。可能在VS2015中使用其他Git源提供程序,但我还没有测试过。 (例如Git Source Control Provider 2015