3
remote: Counting objects: 666377, done.
remote: Compressing objects: 100% (150501/150501), done.
Receiving objects: 0% (2171/666377), 756.00 KiB | 119 KiB/s     

私の疑いは、オブジェクトが私のPCに転送される前に、どのようにオブジェクトを圧縮できるのでしょうか? 最初にファイルを取得してから圧縮する必要があるため、これは信じられないことです..

これは、間違った順序での git 出力情報のバグですか?

4

1 に答える 1

6

Git は、(遅い) ネットワークを介して PC に送信されるデータの量を減らそうとするため、送信前に「緩いオブジェクト」を圧縮します。

のようなアーカイバを使用して実際にファイルを「圧縮」しないことに注意してくださいgzip。代わりに、以前の 50 個の変更セットのファイルを調べて、最適なパッチ セットを作成します。これらの (バイナリ) パッチは、システムの完全な状態 (すべてのチェンジセット、差分、コミット メッセージなどを含む) を表す最小のバイト セットです。

このステップは少しコストがかかるため (多くのルーズ オブジェクトがある場合に気付くでしょう)、git は必要な場合にのみこのステップを実行します。

于 2012-08-20T13:41:45.767 に答える