我有两台独立的 PC 连接到同一个 Gitlab 存储库。既运行 Visual Studio Update 3 又将 Team Explorer 与 Git 结合使用。在一台 PC 上,我可以毫无问题地更新项目,然后将提交推送到远程仓库。然而,在另一台 PC 上,任何操作(推送或获取或同步)都将失败并出现 Unsupported URL protocol
错误,尽管最初我设法克隆了 repo。我怀疑它不喜欢连接字符串中的某些内容,因为我可以使用命令行 git(最近的版本 2.9.2)提交和同步 repo。此错误的原因是什么,是否有解决方法?
最佳答案
我检查了两个本地仓库之间的区别,PC1 上的 git remote -v
给出:
origin https://gitlab.com/ ...
在 PC2 上:
origin git@gitlab.com: ...
经过进一步调查,旧版本似乎是 LibGit2 VS2015 Update3 使用缺少 SSH 支持。第一个 repo 是原始的并在 VS 中创建,第二个 repo 是通过命令行克隆的,因此是 SSH 连接字符串。
解决方法是将 .git/config
中的连接字符串更改为
url = https://gitlab.com/ ...
如果绝对需要 SSH,则可以重新编译 gitlib2,或使用可行的命令行 git。可能可以在 VS2015 中使用其他 Git 源提供程序,但我还没有测试过。 (例如 Git Source Control Provider 2015 )
关于git - git 提供程序错误中不支持的 URL 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38602178/