Versiones del índice
El índice de Git ha tenido varios formatos. La versión 2 es la baseline histórica. La 3 añadió skip-worktree y otras extensiones. La 4 (recomendada para repos grandes) añade compresión de prefijos de rutas, halvando el tamaño del índice en árboles profundos.
Establecer
git config index.version 4
git update-index --index-version 4
Por qué v4 ayuda
Para monorepos con rutas profundas como apps/web/src/components/foo/bar/baz/Quux.tsx, los prefijos repetidos de rutas dominan el tamaño del índice. V4 almacena cada ruta como delta de la anterior, encogiendo el índice 30-60% en monorepos reales.
Inspeccionar
git ls-files --debug | head
ls -la .git/index
GIT_TRACE2_PERF=1 git status 2>&1 | grep "do_read_index"
Emparejar con feature.manyFiles
git config feature.manyFiles true
Cuándo no
Para repos pequeños (menos de 10k archivos), v2 está bien.
Errores comunes
Establecer index.version en config pero no ejecutar git update-index --index-version.
Nota lateral: skip-worktree y assume-unchanged
Estos bits viven en el índice. V3+ los soporta.