Ho un repository con un solo commit che ha una dimensione fuori controllo di 95M. Tuttavia, non riesco a ottenere la dimensione della cartella .git sotto 213M. Tuttavia, se creo un nuovo repository con lo stesso contenuto di file, ottengo una cartella .git di soli 38M.Perché git non ridurrà ulteriormente la dimensione del repository?
C'è un modo per git di ricostruire i suoi oggetti in modo tale da ottenere la dimensione più in linea con la figura dalla creazione di un nuovo repository?
Ho provato sia git gc --prune=now --aggressive
e git repack -adf --window=250 --depth=250
per ridurre le dimensioni del repository. Hanno portato il repository giù dal 220M originale.
Immagino che git debba tenere un riferimento da qualche parte che impedisce la raccolta dei rifiuti, ma non so dove si troverebbero. Ho rimosso tutti i telecomandi e rami e non vedo altro che il mio ramo corrente con 'arbitri'
$ ls -R .git/refs
.git/refs/:
heads tags
.git/refs/heads:
master
.git/refs/tags:
ho creato il repository da uno esistente con la storia più lunga. Ho utilizzato checkout --orphan
per creare un nuovo ramo senza base, quindi ho eseguito un commit per creare un nuovo commit con lo stato del repository. Ho quindi eliminato il ramo originale e rimosso i telecomandi prima di eseguire gc
.
$ git --version
git version 1.9.4.msysgit.0
Elimina i reflog, probabilmente è dove si nascondono le cose. – torek
possibile duplicato di [Ridurre le dimensioni del repository git] (http://stackoverflow.com/questions/2116778/reduce-git-repository-size) –
@AndrewC Questo è quello che ho provato ad usare e dove ho ottenuto il comando 'gc' sopra, ma al momento non ha fatto menzione del reflog. – vossad01