【问题标题】:Why does github offer two download methods?为什么github提供两种下载方式?
【发布时间】:2011-08-30 06:33:24
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: github


    【解决方案1】:

    据我了解,http 已被弃用,很快将被禁用。你可以在这里获得更多信息:

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

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

    【讨论】:

    • 事实并非如此。 Http 仍然可用,它只是在 http 上使用的特定方法。见github.com/blog/642-smart-http-support
    • 看起来像。更重要的是,似乎有两种不同的传输方式通过 http(s) 运行。所以,旧的将被禁用。
    【解决方案2】:

    对于克隆存储库所涉及的数据传输类型,GIT 协议可能比 HTTP 更有效...请参阅这篇文章

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 所以您将使用git 协议,除非它被阻止,在这种情况下您在https 中有备份方法?
      • 我个人会的。正如 beer_monk 所描述的,还有性能方面的考虑。就安全性而言,如果您有写访问权限,您通常会通过 ssh (help.github.com/remotes) 推送。
      【解决方案4】:

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

      • 运行服务的常规端口 (9418) 在限制性防火墙后可能无法访问。
      • 没有用户认证,也就是说协议一般只用于只读访问。

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

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

      (顺便说一句,您的问题范围仅涉及使用 git 协议和 HTTPS 访问公共存储库,但我认为值得指出的是,在您需要的情况下选择协议还有许多其他考虑因素验证自己以便推送到存储库。)

      【讨论】:

      • 奇怪的是git协议没有用户认证。您会认为他们的任务是使整个存储库工作流程高效。 https 是推动的好人选还是有更好的人选? (显然,我从来没有推过)
      • 这确实是一个不同的问题;) SSH 是安全推送到存储库的传统选择,但有些人在设置 SSH 密钥对时遇到了麻烦。对于身份验证,HTTPS 在可用性方面更好,但智能 HTTP 尚未得到广泛支持。然而,对于推送到 GitHub,我认为这是一个合理的选择。
      猜你喜欢
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      相关资源
      最近更新 更多