Sinopsis
git verify-pack [-v] [--stat-only] <pack>.idx
Descripción
El comando git verify-pack verifica la integridad de un archivo pack: comprueba que los SHAs de los objetos coinciden con sus contenidos comprimidos y reporta detalles de delta y tamaño. Esencial para diagnosticar corrupción.
Con -v, lista cada objeto en el pack con tipo, tamaño y profundidad de delta. Combinado con git fsck, puede detectar y aislar problemas de almacenamiento.
En el uso diario, este comando se integra estrechamente con alias de shell, plugins de editor e integración continua. Los usuarios avanzados a menudo añaden alias que combinan los flags que siempre pasan. El formato de salida puede personalizarse vía configuración de Git. Cuando algo sale mal, ejecuta el comando con GIT_TRACE=1 para revelar las llamadas plumbing subyacentes.
Entender cómo este comando interactúa con el resto del modelo de datos de Git rinde dividendos. Cada comando opera sobre algún subconjunto de las piezas (objetos, index, refs, árbol de trabajo), y saber cuáles toca ayuda a predecir resultados y a recuperarse de errores.
Cuándo usar
Most users never run this. It's invaluable for repository forensics — finding which large blobs are eating space, understanding delta chain health, or diagnosing corruption.
Opciones comunes
| Opción | Descripción |
|---|---|
-v | Verbose: list every object. |
--stat-only | Show summary statistics only. |
-O <file> | Read pack-list from file. |
Ejemplos
git verify-pack -v .git/objects/pack/pack-*.idx
# Detailed listing of objects in every pack
# Find the biggest blobs in the repository:
git verify-pack -v .git/objects/pack/*.idx | \
sort -k 3 -n | tail -20
git verify-pack --stat-only .git/objects/pack/pack-*.idx
# Summary stats per pack
Errores comunes
Pointing at a .pack instead of .idx fails — always pass the index. Sorting verify-pack output to find big files works, but don't forget to also examine loose objects with git count-objects -v.
Comandos relacionados
git fsck, git gc, git repack, git count-objects