Что эффективно? 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?
Von C, Спасибо за ответ. «Сетевые протоколы (HTTP и Git), как правило, доступны только для чтения». Git можно сделать rw
при запуске демона с помощью --enable=receive-pack
.
Вот что меня беспокоит.
Когда говорят, что протокол git умен, они имеют в виду, что когда вы выполняете git clone
, агент сервера Git сжимает данные, которые отправляются обратно клиенту, поэтому клон должен работать быстрее. В моем случае я буду устанавливать сервер Git в Гонконге и использовать его также в Сан-Хосе и других странах, поэтому я хочу быть эффективным в сети из-за проблем с задержкой.
Итак, мой вопрос: когда я использую git clone ssh://user@server/reposloc
, получаю ли я также преимущества протокола git? Согласно авторской книге О'Рейли, он имеет в виду, что git туннелируется через ssh, а затем как работает протокол git, когда на сервере не работает демон git.
Итак, использование SSh://xyz... дает ли это преимущества протоколов ssh и git?
Заранее оцените ваши ответы.