J'ai une prise en pension qui (au début) était 5.6G taille:Git suppression permanente du fichier ne résultant pas en plus petit repo?
[email protected] ~/repo (master)
$ du -d 0 -h
5.6G .
Cependant, cette prise en pension contenait un certain nombre de fichiers binaires volumineux qui ne sont plus nécessaires pour être dans le repo. A l'origine, ils se trouvaient à divers endroits dans la structure du répertoire, mais tous nommés "tc.dat". En tant que « nettoyage » étape, j'ai créé un répertoire cruft
et git mv
tous dans ce répertoire cochonneries, en changeant leur nom à tc.dat1
, tc.dat2
, etc.
j'avais alors 5 de ces fichiers, tc.dat1
par tc.dat5
J'ai ensuite suivi this question et utilisé filter-branch
avec les étapes de nettoyage pour supprimer toutes les instances de ces fichiers dans le répertoire cruft
. Cependant, cela a encore laissé les noms de fichiers d'origine (avant le mouvement dans cruft
) dans le repo. Je répète ensuite l'étape de les retirer de leur emplacement d'origine sur tous les commits, et encore une fois fait les étapes de nettoyage:
rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune
Après tout cela, si je fais un
git log --all -- tc*.dat
Je ne vois pas les matchs dans mon histoire, m'indiquant qu'ils sont complètement enlevés. Cependant, quand je fais à nouveau un du
le repo est toujours de 5,6G. Étant donné que ces fichiers comprennent environ 0,5 Go, je m'attends à voir ce nombre diminuer.
Qu'est-ce qui me manque?
Est-ce que http://stackoverflow.com/questions/2116778/reduce-git-repository-size/2116892#2116892 (et les questions qu'il fait référence) être une aide? – VonC