Par Anonyme (non vérifié) , 29 avril 2026

Pourquoi sparse

Sparse checkout peuple uniquement un sous-ensemble de l'arbre de travail d'un repo, tout en conservant toutes les métadonnées et l'histoire. Pour les monorepos, cela peut signifier faire checkout de 1% des fichiers et ignorer les 99% restants, accélérant dramatiquement git status, l'indexation IDE et l'usage disque.

Mode cône

git sparse-checkout init --cone
git sparse-checkout set apps/web libs/shared
git sparse-checkout add apps/admin
git sparse-checkout list

Mode non-cône

git sparse-checkout init
cat > .git/info/sparse-checkout <<'EOF'
/*
!/build/
!/legacy/
EOF
git read-tree -m -u HEAD

Cloner sparse

git clone --filter=blob:none --no-checkout https://example.com/big.git
cd big
git sparse-checkout init --cone
git sparse-checkout set apps/web
git checkout main

Vérifier l'index

git ls-files -t | head
git update-index --skip-worktree path
git update-index --no-skip-worktree path

Désactiver

git sparse-checkout disable

Erreurs courantes

Éditer des fichiers hors du cône.

Sparse index

git sparse-checkout init --cone --sparse-index
git config index.sparse true