(resuelto, véase la parte inferior del cuerpo cuestión)
Buscando esto durante mucho tiempo, lo que tengo hasta ahora es:Quitar del repositorio git (historia)
- http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/ y
- http://progit.org/book/ch9-7.html
más o menos el mismo método, pero ambos dejan objetos en archivos de paquete ... Stuck.
lo que he intentado:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_name'
rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
todavía tiene archivos en el paquete, y así es como lo sé:
git verify-pack -v .git/objects/pack/pack-3f8c0...bb.idx | sort -k 3 -n | tail -3
Y esto:
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch file_name" HEAD
rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune
El mismo ...
Probado git clone
truco, eliminó algunos de los archivos (~ 3000 de ellos) pero los archivos más grandes todavía están allí ...
Tengo algunos archivos legados grandes en el repositorio, ~ 200M, y realmente no los quiero allí ... Y no quiero restablecer el repositorio a 0 :(
SOLUCIÓN: Este es el camino más corto para deshacerse de los archivos:
- cheque .git/envasados-refs - mi problema era que tenía allí una línea
refs/remotes/origin/master
para un repositorio remoto, elimínelo; de lo contrario, git no eliminará esos archivos - (o pcional)
git verify-pack -v .git/objects/pack/#{pack-name}.idx | sort -k 3 -n | tail -5
- para comprobar si los archivos más grandes - (opcional)
git rev-list --objects --all | grep a0d770a97ff0fac0be1d777b32cc67fe69eb9a98
- para comprobar cuáles son esos archivos git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_names'
- Para eliminar un archivo de todas las revisionesrm -rf .git/refs/original/
- para eliminar la copia de seguridad de gitgit reflog expire --all --expire='0 days'
- EXPIRAR todos los objetos sueltosgit fsck --full --unreachable
- para comprobar si hay objetos sueltosgit repack -A -d
- volver a embalargit prune
- para eliminar finalmente los objetos
Soooo, tu pregunta es ...? – zneak
Posibles duplicados: http://stackoverflow.com/questions/2100907/how-to-purge-a-huge-file-from-commits-history-in-git/2158271 http://stackoverflow.com/questions/872565/how-do-i-remove-sensitive-files-from-gits-history –
zneak - mi pregunta está en el título. gbacon - los probó, los archivos aún permanecen en el archivo del paquete ... – Devenv