私のレポジトリを海外で使う人のために、ダウンロード時間を短縮できることを楽しみにしています。これが遅すぎるという苦情を受け取りました。
リポジトリでスクリプトを実行して、すべてのオブジェクトを調べ、どのオブジェクトが最大かを調べました。ファイナルテーブルは次のとおりです。
| size | pack | SHA | location |
|----------+----------+----------+----------------------------------------------|
| 7755956 | 7715996 | ecb5febf | media/promo/some.mp4 |
| 7082482 | 7019098 | 108b2909 | media/promo/some.webm |
| 5154689 | 5079200 | 1c20bd3b | media/promo/some.ogv |
| 3889885 | 3657066 | 2ad1b747 | AdModule/AdModule/media/other.mp4 |
| 3799591 | 3772833 | 7a901d41 | AdModule/AdModule/media/other.ogv |
| 2130845 | 2119014 | e034cb72 | media/promo/trailer.webm |
| 2130845 | 2119014 | e034cb72 | media/promo/trailer.webm |
| 2130845 | 2119014 | e034cb72 | media/promo/trailer.webm |
| 1912643 | 1806844 | cbd2562f | media/promo/trailer.mp4 |
| 1912643 | 1806844 | cbd2562f | media/promo/trailer.mp4 |
| 1912643 | 1806844 | cbd2562f | media/promo/trailer.mp4 |
| 1371459 | 1356916 | bbb2c932 | AdModule/AdModule/media/trailer.webm |
| 277981 | 80590 | 61375a0c | AdModule/AdModule/Scripts/jquery-1.9.1.js |
| 260304 | 47616 | f4427aed | AdModule/packages/jQuery.1.9.1/jquery-1.9.1- |
some.mp4
開発の過程でそれらは他のビデオに置き換えられ、some.webm
他の開発者は古いビデオを必要としないため、おそらく失う可能性があります。
私は一度も git の履歴を書き直したり、コミットを押しつぶしたりしたことはありません。だから、私はそれをするのが怖いです:)
実行時に発生するダウンロードの時間と報告されたサイズを見るとgit clone
、リポジトリに保存されているほど多くのデータを受信していません (おそらく、その 10 分の 1 にすぎません)。
それで、ここに私の質問があります:ダウンロード時間を短縮するなど、大きなブロブを含むコミットを削除しようとすると、私のケースにメリットがありますか? そうでない場合、ダウンロード時間を短縮するにはどうすればよいですか?
PS。完全な SHA の合計がありますが、読みやすいように表では切り捨てられています。
実際にディレクトリ内にあるファイルのサイズを示す別の表を次に示します.git
(これは、このレポの履歴に必要なすべてのファイルの合計サイズよりもはるかに小さい値です)。
| size | file |
|----------+----------------------------------------------------------------------|
| 46802 | projects/take5/sdk/.git |
| 46680 | projects/take5/sdk/.git/objects |
| 42268 | projects/take5/sdk/.git/objects/pack |
| 20164 | projects/take5/sdk/.git/objects/pack/pack-594c78df5239b9e0dcd1014ac8 |
| 9712 | projects/take5/sdk/.git/objects/pack/pack-66fbcdd8ee5685720eb77a979a |
| 4176 | projects/take5/sdk/.git/objects/pack/pack-f6f37936674d8f016b58dce74e |
| 4176 | projects/take5/sdk/.git/objects/pack/pack-9f11f69dc046de80640de5d265 |
| 3960 | projects/take5/sdk/.git/objects/pack/pack-56985618be0c8c8596d12111fe |
| 551 | projects/take5/sdk/.git/objects/b9 |
実行git gc
すると、合計サイズの約 11 Mb を削ることができました。