git - 用于推送的 Git native 协议(protocol)或 SSH 协议(protocol)之间的区别

标签 git ssh protocols push

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

如果我想使用 Git,我不需要设置 git 服务器 dameon 并在 iptables 中打开那个端口吗?当 SSH 已经设置并运行时,似乎有很多额外的工作,以及 dameon 的额外内存使用。

使用原生 git://协议(protocol)一定有好处,因为 GitHub 使用它,而不是 ssh://。

最佳答案

首先,GitHub使用ssh作为主要协议(protocol),通过git协议(protocol)赋予只读权限。

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

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

关于git - 用于推送的 Git native 协议(protocol)或 SSH 协议(protocol)之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556075/

相关文章:

android - 在 Android Studio 中开发同一个应用的两个版本

swift - 为什么 Swift 协议(protocol)中的变异方法会无限递归,除非只有扩展方法?

objective-c - 在所有符合协议(protocol)的类上实现一个类别

ios - 当类符合包含变异功能的协议(protocol)时会发生什么?

git - 共同致力于私有(private)组织的 fork

git - 如何 Git 忽略这些文件

python - 尝试 git Push 时 Bitbucket 错误日志

deployment - 无需 SSH 访问的 Rsync

通过 SSH 进行 SSH(或如何通过 SSH 进行 'proxify' SSH)

使用 key 文件的 ANT SSHEXEC 任务问题