Ho un progetto con ~ 12 MB di codice e risorse in esso. L'ho tracciato usando Git, e ho appena notato che la mia cartella .git
ora ha poco più di 1,83 GB. Consiste di alcuni file di piccole dimensioni e quindi di un solo file pack che costituisce circa 1,82 GB di cartella.Git Repository Too Large
Ho eseguito git gc --aggressive
e git gc --prune
. È della stessa dimensione. Ho provato:
git reflog expire --expire=now --all
git repack -ad # Remove dangling objects from packfiles
git prune # Remove dangling loose objects
Ma è ancora la stessa dimensione. L'ho persino clonato (una volta localmente con un repack forzato, e ancora una volta da Git), ma sono ancora 1.83 GB su ciascuno. È normale? C'è un modo per ridurne le dimensioni, o posso semplicemente iniziare un nuovo repository, copiare il codice e accettare che i miei passati commit siano spariti?
Per "beni", intendi cose non comprimibili come immagini ecc.? Hai modificato molto quelli? [Questo] (http://naleid.com/blog/2012/01/17/finding-and-purging-big-files-from-git-history/) sembra essere quello che stai cercando, ma Disclaimer: I non l'hai mai fatto, quindi clonare il repository prima di scherzare con esso: p – Amadan
Commento VCS generale: i file binari (immagini/ZIP ...) vengono solitamente memorizzati come è per ogni versione (a differenza del testo che può essere impacchettato in modo efficace memorizzando diffs) e non può essere compresso (dato che la maggior parte dei formati binari ora sono già compressi) ... Quindi è molto probabile che tu abbia molte versioni di file binari che semplicemente occupano così tanto spazio (vedi se riesci a raccogliere una sorta di statistiche per tipo di file per numero di versioni/dimensioni file) –
Ok, il bit del file binario sembra essere un probabile colpevole. C'è un modo per rimuovere quei file dai commit passati, oltre ad aggiungerli al mio file .gitignore? – Bryce