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