Разница между собственным протоколом Git или протоколом SSH для проталкивания - PullRequest
3 голосов
/ 19 декабря 2011

Есть ли разница в производительности между использованием протокола SSH (ssh://) или протокола Git (git://) для проталкивания?

Если я хочу использовать Git, разве мне не нужно настраивать сервер git и открывать этот порт в iptables? Похоже, много дополнительной работы, а также дополнительное использование памяти для dameon, когда SSH уже настроен и работает.

Должно быть преимущество использования собственного протокола git: //, потому что GitHub использует его вместо ssh: //.

Ответы [ 2 ]

5 голосов
/ 19 декабря 2011

Прежде всего, GitHub использует ssh в качестве основного протокола, а доступ только для чтения предоставляется через протокол git.

git: // будет самым быстрым способом клонирования проекта, поскольку он не требует дополнительных затрат на шифрование и аутентификацию. Но в остальном и ssh: //, и git: // имеют одинаковые git-специфичные оптимизации для транспорта. Вот почему многие проекты, в том числе для GitHub, имеют git: // для доступа только для чтения и ssh для отправки в.

Таким образом, чтобы ответить на ваш вопрос, ssh: // лучше всего использовать для push, потому что git: // НЕ используется для нажатия.

0 голосов
/ 19 декабря 2011

Есть ли разница в производительности между использованием протокола SSH (ssh: //) или протокола Git (git: //) для push-уведомлений?

Конечно, есть ssh-шифрование.

Если я хочу использовать Git, разве мне не нужно настраивать сервер git и открывать этот порт в iptables?

Зависит от выбранного вами протокола. Так как вы обычно хотите, чтобы push-сообщения были аутентифицированы (и аутентификация была зашифрована), средства ssh обычно используются - поскольку, по сути, вы будете использовать собственный протокол git, но через ssh-туннель. (Подробно: как git-daemon, так и git-push через ssh порождают субтитру git-receive-pack.)

Служба git-daemon обычно предоставляется для анонимного доступа только для чтения, поскольку здесь не требуется / не требуется ни аутентификация, ни шифрование.

...