git prune
Elimina objetos inalcanzables
El comando 'git prune' elimina los objetos sueltos que ninguna rama, tag, índice ni entrada del reflog puede alcanzar — por ejemplo commits abandonados hace mucho. Forma parte de git gc, que normalmente conviene usar en su lugar. Los objetos eliminados no se pueden recuperar.
Sinopsis
git prune [-n] [-v] [--expire <time>]Ejemplos
Vista previa
git prune -n -vLo que se eliminaría.
A través de gc
git gc --prune=nowLa forma habitual.
Ejemplos de flujos de trabajo
git reflog expire --expire=now --allOlvidar el reflog
git pruneBorrar los objetos ya inalcanzables
Solución de problemas
No se elimina nada
Causa: El reflog aún referencia los objetos
Haz caducar antes el reflog (o espera 90/30 días)
Consejos y trampas
Buenas prácticas
- ✓Usa git gc en lugar de llamar a prune directamente.
Errores comunes
- ✗Confundir git prune con git remote prune (que quita ramas remotas obsoletas).
Preguntas frecuentes
No. Si dudas, ejecuta antes git fsck --lost-found.