2011-12-19 52 views
3

使用SSH协议(ssh://)或Git (git://)协议进行推送有什么不同?Git Native协议或SSH协议之间的区别推送

如果我想使用Git,我不需要设置git服务器dameon并在iptables中打开该端口吗?看起来像很多额外的工作,并且当SSH已经安装并运行时,还会增加dameon的内存使用量。

使用本地git://协议肯定有好处,因为GitHub使用它而不是ssh://。

+2

这里有一些信息:http://progit.org/book/ch4-1.html – zoran119 2011-12-19 00:55:08

+0

谢谢,是有道理的。 – Justin 2011-12-19 01:03:30

回答

5

首先,GitHub使用ssh作为主协议,通过git协议提供只读访问。

git://将克隆项目的速度最快,因为它没有加密和身份验证的开销。但除此之外,ssh://和git://都具有相同的git特定的优化用于传输。这就是为什么许多项目,包括GitHub上的项目,都有git://用于只读访问和ssh来推送。

所以要回答你的问题,ssh://最适合推送,因为git://不能用于推送。

0

在使用SSH协议(ssh://)或Git(git://)协议进行推送之间是否存在性能差异?

当然有ssh的加密。

如果我想使用Git,我不需要设置git服务器dameon并在iptables中打开该端口吗?

取决于您选择的协议。由于通常需要验证身份验证(并且身份验证是加密的),因此ssh的设施通常会被使用 - 因为实质上,您将运行git-native协议,但通过ssh隧道。 (Impl细节:通过ssh的git-daemon和git-push产生git-receive-pack的功能。)

通常为只读匿名访问提供git-daemon服务,因为既不需要auth也不需要加密/这里需要。