MS Visual Studio + gitolite 或通过 SSH 连接 Github

14

我在本地机器上有MSVS 2013 + git 1.8.4 + git-extensions 2.47.3,远程服务器上有gitolite 2.3-1

我可以通过控制台工具和git-extension GUI克隆、提交和推送我的项目(git@server.example.com:testproject)

但是我无法在MSVS的"Team Explorer"中做到同样的操作。即使我手动克隆它(通过控制台工具)并将其作为本地仓库添加到MSVS Team Explorer中,我也无法提交或推送,因为:

发生错误,详细信息:libgit2引发了一个错误。类别=Net(Error)。此传输没有实现。抱歉。

我找到的所有相关资料都是关于TFS或本地git集成的。

对于github项目也是一样的。

能否通过某些控制台钩子或类似方法使其工作?

4个回答

19
"Team Explorer" 使用了 Visual Studio 2013 中添加的 Git 集成功能。请参阅 "从第三方服务克隆远程 Git 存储库"。由于 Visual Studio 中具有本机的 Git 集成功能,因此仅支持 https。暂时不支持 SSH。"

http://i.msdn.microsoft.com/dynimg/IC698706.png

这篇MSDN博客文章于2013年10月发布,指出:

截至目前为止,Visual Studio 2013不支持基于ssh的远程。
如果你有一个使用SSH的Git远程,并尝试在Visual Studio中执行网络操作,你会收到消息“This transport isn’t implemented. Sorry.”(这条消息来自libgit2库)。
我没有时间表来说明Visual Studio何时会实现对SSH远程的支持。

2015年10月更新:

然而,正如Vladimir Koltunov在下面提到的那样libgit2开始(2015年第四季度)使用ssh支持在项目PROGrand/git2-msvstfs-ssh-patch中进行构建(适用于VS 2015)。

这个针对'libgit2'的补丁允许在Visual Studio 2015中使用SSH公私钥对与ssh仓库(例如gitolite)一起使用。


12
作为一种解决方法,我使用git命令提示符(通过在Team Explorer中的Action下拉菜单中点击打开命令提示符来调用)。
它已经打开在git仓库目录中了,所以在你本地提交更改之后,推送代码(使用git push命令)与点击同步相比,几乎不需要额外的努力。 :)

5
我也是。运行良好。尽管 SSH 会更好。 - Bluebaron

1

0
我在用户将仓库映射到网络驱动器并且该驱动器未映射时,遇到了相同的消息。因此,目前(至少在VS 2013中)可用的传输方式只有http(s)和文件系统,但如果您使用文件系统而驱动器不可用,则libgit会告诉您它不支持该传输方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接