を実行するときgit fetch
、リモートからローカルに転送されるオブジェクト/変更の正確なサイズを知るにはどうすればよいですか?
2 に答える
実際のネットワーク トラフィック サイズは、ローカルにあるもの、リモートから提供されるもの、およびデータの転送に使用するプロトコルによって異なります。
詳細についてはPro Git bookを参照してください。ただし、短いバージョンでは、「スマート」プロトコル (git://...
またはssh://...
) を使用してフェッチすると、現在不足しているリポジトリ オブジェクトを表すデルタ圧縮データを含む「シン パック」を取得できます。で要求したオブジェクトに対して圧縮しますfetch
。「ダム」プロトコルを使用すると、それを取得できず、ルーズ オブジェクト (bzip2 圧縮) または「シック」パックのいずれかが取得されます。
オブジェクト自体の (圧縮されていない) サイズを見るだけでは、多くのことはわかりません。
これが正しいかどうかは 100% 確信が持てず、おそらくもっと良い方法がありますが、次の方法を試すことができます。
git fetch --dry-run
これは、フェッチが実際に先に進まなくても何をするかを示すはずです。該当するリモート変更がある場合は、この情報が表示されます。たとえば、次のようになります。
(SHA1)..(SHA2) master -> origin/master
次にcat-file
、 size フラグを使用してコミットを検査できます。これは、必要な着信変更を表しているはずです。
git cat-file -s (SHA2)
返される量はバイト単位です。お役に立てば幸いです。