Da Anonimo (non verificato) , 29 Aprile 2026

L'area di staging, demistificata

L'index (alias cache, area di staging) vive in .git/index come file binario che descrive cosa conterra il prossimo commit.

Ispezione

git ls-files --stage
git ls-files --debug
git diff --cached
git diff

Versioni dell'index

git config index.version 4
git update-index --index-version 4

Cache delle stat

L'index registra device, inode, ctime, mtime, size per ogni voce.

Sparse index

git sparse-checkout init --cone
git sparse-checkout set apps/web libs/shared
git config core.sparseCheckoutCone true
git config index.sparse true

Merge a tre vie nell'index

git ls-files -u
git checkout-index --stage=2 -- file
git checkout-index --stage=3 -- file

Errori comuni

Credere che git add faccia staging "permanente" — fa staging di uno snapshot.

Leve di performance

Leve: index.version=4, core.untrackedCache=true, core.fsmonitor=true, sparse index, feature.manyFiles=true.