どれが効率的ですか?SSH:// または Git:// (ファイル圧縮)
Git では、git プロトコルがスマートであることを理解しています。これは、通信の両端にファイル転送を圧縮するプロトコル エージェントがあり、ネットワーク帯域幅を効率的に使用してクローンを高速化するためです。
O'Reilly の本から、次のステートメントを見つけました。
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) は一般的に読み取り専用です」rw
でデーモンを実行すると、 Git を作成できます--enable=receive-pack
。
以下は私の懸念事項です。
git プロトコルがスマートであると言う場合、実行するgit clone
と、Git サーバー エージェントはクライアントに送り返されるデータを圧縮するため、クローンはより高速になるはずです。私のユースケースでは、香港に Git サーバーを設定し、サンノゼやその他の国でも使用する予定です。そのため、遅延の問題のためにネットワーク上で効率的になりたいと考えています。
だから私の質問は、いつ私git clone ssh://user@server/reposloc
がgitプロトコルの利点を得られるのかということです? O'Reilly の著者の本によると、彼は git が ssh 経由でトンネリングされていることを意味し、サーバーで git デーモンが実行されていない場合、git プロトコルはどのように機能するのでしょうか。
SSh://xyz... を使用すると、ssh プロトコルと git プロトコルの両方の利点が得られますか?
事前に回答をお待ちしております。