git gc

Administración

Limpia y optimiza el repositorio


El comando 'git gc' (garbage collection) empaqueta los objetos sueltos en packfiles comprimidos, elimina los objetos a los que ya nada se refiere (tras su periodo de gracia) y ordena referencias y reflogs. Git ejecuta automáticamente una versión ligera; rara vez hace falta a mano. Solo cambia el almacenamiento — nunca tus commits, ramas o archivos.

Sinopsis

git gc [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune]
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Ejemplos

Ordenar

git gc

Empaquetar y limpiar.


Eliminar ya los objetos inalcanzables

git gc --prune=now

También borra al instante los commits perdidos (cuidado).

Ejemplos de flujos de trabajo

1
git reflog expire --expire=now --all

Olvidar posiciones antiguas

2
git gc --prune=now --aggressive

Borrar y reempaquetar

Solución de problemas

Mensaje "Auto packing the repository…"

Causa: Git ejecutó gc automáticamente

Nada que hacer; mantiene el repositorio rápido

Consejos y trampas

Buenas prácticas

  • ✓Deja que Git lo ejecute solo, o programa git maintenance.

Errores comunes

  • ✗Ejecutar git gc --prune=now esperando recuperar un commit perdido — lo borra.

Preguntas frecuentes

A:

Solo objetos inalcanzables más antiguos que el periodo de gracia (2 semanas por defecto); los commits alcanzables nunca se tocan.