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

为什么github提供两种下载方法?,github,Github,Github允许您通过以下两种方式之一克隆公共存储库。这两种方法在存储库主页的下载部分切换: https://github.com/scrooloose/nerdtree.git git://github.com/scrooloose/nerdtree.git git clone命令可以同时使用这两种方法,那么为什么有两种方法可用呢?你能解释一下为什么要用一个而不是另一个吗?据我所知,http已被弃用,不久将被禁用。您可以在此处获得更多信息: 更新: 看来我错了。github将禁用旧的(“

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

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

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

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

据我所知,http已被弃用,不久将被禁用。您可以在此处获得更多信息:

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

对于克隆repo所涉及的数据传输类型,GIT协议可能比HTTP更有效。。。看到这个帖子了吗


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

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

  • 运行服务的传统端口(9418)可能无法在限制性防火墙后访问
  • 没有用户身份验证,这意味着协议通常只用于只读访问
另一方面,它对于从git存储库获取非常有效

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


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

情况并非如此。Http仍然可用,它只是Http上使用的特定方法。看样子。更重要的是,似乎有两种不同的传输在http上运行。因此,旧的将被禁用。因此,您将使用
git
协议,除非它被阻止,在这种情况下,您在
https
中有一个备份方法?我个人会这样做。正如beer_monk所描述的,还有性能方面的考虑。在安全性方面,如果您拥有写访问权限,通常会通过ssh()进行推送。+1另请参见第二部分,奇怪的是git协议没有用户身份验证。您可能认为他们的任务是使整个存储库工作流程高效。
https
是推送的好选择还是有更好的选择?(显然,我从来没有推动过)这真的是一个不同的问题;)SSH是安全地推送到存储库的常规选择,但是有些人在设置SSH密钥对时遇到困难。对于身份验证,HTTPS在可用性方面更好,但智能HTTP还没有得到广泛支持。然而,对于推动GitHub,我认为这是一个合理的选择。