Что эффективно? SSH: // или Git: // (сжатие файлов)
Я понимаю, что в Git протокол git умен, потому что на обоих концах связи есть агент протокола, который сжимает передачу файла, что приводит к более быстрому клонированию за счет эффективного использования пропускной способности сети.
Из книги О'Рейли Я нашел следующие утверждения.
For secure, authenticated connections, the Git native
protocol can be tunneled over an SSH connection using
the following URL templates:
ssh: //[user@]example.com[:port]/path/to/repo.git
ssh: //[user@]example.com/path/to/repo.git
ssh: //[user@]example.com/~user2/path/to/repo.git
ssh: //[user@]example.com/~/path/to/repo.git*
Я не уверен, что автор имеет в виду то, что говорит. Он говорит о том, что протокол git становится туннельным по SSH.
С моей точки зрения, если вы не подключитесь к порту git (порту агента), протокол не будет действовать. А SSH - это просто несжатая передача файлов.
Но согласно автору, если мы используем SSH, он говорит, что протокол git поверх него. Так SSH умнее в GIT?
Фон С,
Спасибо за Ваш ответ. «Сетевые протоколы (HTTP и Git) обычно доступны только для чтения» Git можно сделать rw
, когда вы запускаете deamon с --enable=receive-pack
.
Ниже приведены мои опасения.
Когда они говорят, что протокол git умный, они имеют в виду, что когда вы выполняете git clone, агент сервера git сжимает данные, которые отправляются обратно клиенту, поэтому клонирование должно выполняться быстрее. В моем случае я буду устанавливать git-сервер в Гонконге и использовать его в Сан-Хосе и других странах, поэтому я хочу быть эффективным по сети из-за проблем с задержкой.
Итак, мой вопрос: когда я использую git clone ssh://user@server/reposloc
, получу ли я также преимущества протокола git? Согласно книге автора О'Рейли, он имеет в виду, что git туннелируется через ssh, тогда как работает протокол git, когда на сервере не работает демон git.
Таким образом, использование SSh: // xyz ... дает ли это преимущество как протоколам ssh, так и git?
Заранее оцените ваши ответы.