【问题标题】:Difference Between Git Native Protocol Or SSH Protocol For Pushing用于推送的 Git 本机协议或 SSH 协议之间的区别
【发布时间】:2011-12-19 00:46:04
【问题描述】:

使用 SSH 协议 (ssh://) 或 Git (git://) 协议进行推送有性能差异吗?

如果我想使用 Git,我是否必须设置 git 服务器 dameon 并在 iptables 中打开该端口?当 SSH 已经设置和工作时,似乎需要做很多额外的工作,并且还需要额外的内存使用。

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

【问题讨论】:

标签: git ssh protocols push


【解决方案1】:

首先,GitHub 使用 ssh 作为主要协议,通过 git 协议授予只读访问权限。

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

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

【讨论】:

    【解决方案2】:

    使用 SSH 协议 (ssh://) 或 Git (git://) 协议进行推送有性能差异吗?

    当然还有ssh的加密。

    如果我想使用 Git,我是否必须设置 git 服务器 dameon 并在 iptables 中打开该端口?

    取决于您选择的协议。由于您通常希望对推送进行身份验证(并且对身份验证进行加密),因此通常使用 ssh 的工具——因为本质上,您将运行 git-native 协议,但通过 ssh 隧道。 (Impl 细节:git-daemon 和 git-push 通过 ssh 生成 git-receive-pack 子实用程序。)

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

    【讨论】:

      猜你喜欢
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 2011-03-02
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多