Perché git ha bisogno di rimuovere oggetti duplicati quando si uniscono i rami?

3

Git ha visualizzato "rimozione degli oggetti duplicati" dopo aver unito un ramo a un altro e notato che la mia cartella .git / objects è notevolmente ridotta (da 40,7 MB a 33,5 MB).
Il ramo non dovrebbe essere un puntatore, quindi perché git ha bisogno di cancellare alcuni oggetti?
Cosa è successo realmente lì?
È semplicemente il comportamento naturale di Git?

    
posta Skyvory 19.06.2015 - 00:42
fonte

1 risposta

2

Durante la garbage collection, git prende gli oggetti dalla tua directory .git/objects , e li li raggruppa nel file pack in .git/objects/pack . Durante questa fase, comprime anche i file e sfrutta la somiglianza tra i file per ridurne le dimensioni. In genere il file pack aumenta di dimensioni molto meno delle dimensioni degli oggetti che sono stati spostati in esso, poiché è in grado di eseguire ottimizzazioni tra file.

Una volta che questi oggetti si trovano nel file pack allora questi oggetti sono effettivamente nel tuo repository locale due volte, una volta come un oggetto e una volta nel file pack . La fase "rimozione degli oggetti duplicati", quindi rimuove questi duplicati dalla tua directory .git/objects , e quindi la dimensione della directory viene ridotta.

    
risposta data 15.01.2018 - 15:24
fonte

Leggi altre domande sui tag