Versioni dell'index
L'index di Git ha avuto vari formati. Versione 2 e la baseline storica. Versione 3 ha aggiunto skip-worktree. Versione 4 (raccomandata per repo grandi) aggiunge compressione del prefisso dei percorsi.
Impostazione
git config index.version 4
git update-index --index-version 4
Perche la versione 4 aiuta
Per monorepo con percorsi profondi, i prefissi ripetuti dominano la dimensione dell'index. V4 memorizza ogni percorso come delta dal precedente, riducendo l'index del 30-60% sui monorepo reali.
Ispezione
git ls-files --debug | head
ls -la .git/index
GIT_TRACE2_PERF=1 git status 2>&1 | grep "do_read_index"
Abbinare con feature.manyFiles
git config feature.manyFiles true
Quando no
Per repo piccoli (sotto i 10k file), v2 va bene.
Errori comuni
Impostare index.version nella configurazione ma non eseguire git update-index --index-version.
Nota: skip-worktree e assume-unchanged
Questi bit vivono nell'index. V3+ li supporta; V2 ha supporto limitato.