Versione breve: significa quello che dice, e se lo lasci finire, tutto andrà bene.
Durante la maggior parte delle operazioni che possono potenzialmente aumentare il numero di oggetti sfusi (non compressi) nel repository (inclusi i push), Git invoca git gc --auto
. Se ci sono abbastanza oggetti sciolti (per impostazione predefinita, almeno 6700), verrà quindi richiamato git repack -d -l
per impacchettarli. Se ci sono troppi pacchetti separati, li imballerà anche in uno.
Un pacchetto è un singolo file compresso con delta, contenente un numero elevato di oggetti. È più efficiente archiviare oggetti in pacchetti, ma ci vuole tempo per comprimere (comprimere) oggetti, quindi Git inizialmente crea oggetti sciolti, quindi li impacchetta in lotti di tanto in tanto, tramite l'invocazione automatica di git gc --auto
.
Se lasci che Git finisca di reimballare, questo non accadrà più per un po '. In effetti, può richiedere del tempo, soprattutto se si hanno molti oggetti binari di grandi dimensioni, ma se si sta attivando, significa che probabilmente ridurrà drasticamente la quantità di spazio su disco occupato dal repository. Se davvero non vuoi che accada, puoi modificare il parametro config gc.auto
. Se lo aumenti a qualcosa di molto più grande di 6700, accadrà meno frequentemente, ma impiegherà più tempo. Se lo diminuisci, dovrà comunque eseguire il repack corrente, ma successivamente succederà più spesso e finirà più rapidamente. Se lo si imposta su 0, disabiliterà il reimballaggio automatico.
Vedi man git-gc
(sotto --auto
) e man git-config
(sotto gc.auto
) per maggiori informazioni.