为什么github提供两种下载方法?

时间:2011-05-21 15:22:07

标签: github

Github允许您以两种方式之一克隆公共存储库。这两种方法在存储库主页的下载部分切换:

https://github.com/scrooloose/nerdtree.git

git://github.com/scrooloose/nerdtree.git

git clone命令同时适用于两者,为什么有两种方法可用?你能解释为什么你会使用一个而不是另一个吗?

4 个答案:

答案 0 :(得分:5)

git协议存在以下关键问题:

  • 运行服务的传统端口(9418)可能无法在限制性防火墙后访问。
  • 没有用户身份验证,这意味着协议通常仅用于只读访问。

另一方面,从git存储库中获取它非常有效。

对于HTTPS,GitHub现在支持“智能HTTP”协议,这意味着您将阅读的“哑HTTP”协议的许多问题(例如效率低下)不再真正适用,尽管它仍然赢了不如git协议有效。使用HTTPS与GitHub存储库通信的主要优点是企业防火墙不太可能阻止对端口443的访问。

(顺便提一下,你的问题的范围只是关于使用git协议和HTTPS访问公共存储库,但我认为值得指出的是,在你需要的情况下,协议的选择有很多其他注意事项。验证自己以便推送到存储库。)

答案 1 :(得分:0)

据我所知,http已被弃用,很快就会停用。你可以在这里获得更多信息:

https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days

更新:   看起来我错了。 github将禁用旧的(“哑”)http传输。新的(“智能”)运输仍然有效。

答案 2 :(得分:0)

对于克隆回购所涉及的数据传输类型,GIT协议可以比HTTP更有效...请参阅此帖子

http://progit.org/2010/03/04/smart-http.html

答案 3 :(得分:0)

您可能正在尝试通过防火墙等阻止git协议/端口(9418)的环境中进行克隆,但允许网络流量。