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

s95*_*163 8 git github gitlab visual-studio-2015

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

s95*_*163 19

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

来源https://gitlab.com/ ...

在PC2上:

来源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)