Kısa versiyon: söylediği anlamına gelir ve eğer bitmesine izin verirseniz, her şey iyi olacak.
Depodaki gevşek (paketlenmemiş) nesnelerin sayısını artırabilecek çoğu işlem sırasında (push'lar dahil) Git çağırır git gc --auto
. Yeterli gevşek nesne varsa (varsayılan olarak en az 6700), git repack -d -l
bunları paketlemeye çağırır . Çok fazla ayrı paket varsa, bunları bir pakete yeniden paketleyecektir.
Paket, çok sayıda nesne içeren delta sıkıştırılmış tek bir dosyadır. Nesneleri paketlerde saklamak daha etkilidir, ancak nesneleri paketlemek (sıkıştırmak) zaman alır, bu nedenle Git başlangıçta gevşek nesneler oluşturur, ardından otomatik çağırma yoluyla bunları şimdi ve sonra toplu olarak paketler git gc --auto
.
Git'in yeniden paketlemeyi bitirmesine izin verirseniz, bu bir süre daha gerçekleşmez. Özellikle çok büyük ikili nesneleriniz varsa, biraz zaman alabilir, ancak tetikliyorsa, muhtemelen repo tarafından alınan disk alanı miktarını önemli ölçüde azaltacağının bir işaretidir. Gerçekten olmasını istemiyorsanız, config parametresini değiştirebilirsiniz gc.auto
. Eğer 6700'den daha büyük bir şeye arttırırsanız, daha az sıklıkta olur, ancak daha uzun sürer. Eğer düşürürseniz, yine de mevcut yeniden paketinizi yapmanız gerekir, ancak daha sonra daha sık gerçekleşecek ve daha hızlı bitecektir. 0 olarak ayarlarsanız, otomatik yeniden paketlemeyi devre dışı bırakır.
Daha fazla bilgi için man git-gc
(altında --auto
) ve man git-config
(altında gc.auto
) konusuna bakın .