L'ensemble de travail du monorepo
Dans un monorepo, les développeurs individuels ne touchent généralement qu'un petit sous-ensemble — une ou deux apps, une poignée de bibliothèques. Sparse checkout peuple uniquement ces chemins dans l'arbre de travail.
Setup mode cône
git sparse-checkout init --cone --sparse-index
git sparse-checkout set apps/web libs/ui libs/api
git sparse-checkout add apps/admin
git sparse-checkout list
Combiné avec partial clone
git clone --filter=blob:none --sparse https://example.com/big.git
cd big
git sparse-checkout init --cone --sparse-index
git sparse-checkout set apps/web
Reconfigurer
git sparse-checkout reapply
git sparse-checkout disable
Usage en CI
git clone --no-checkout --filter=blob:none "$REPO_URL" .
git sparse-checkout init --cone --sparse-index
git sparse-checkout set "$AFFECTED_DIR"
git checkout main
Intégration éditeur et IDE
La plupart des éditeurs honorent sparse checkout de manière transparente.
Audit
git sparse-checkout list
git ls-files -t | head
git update-index --no-skip-worktree path/file
du -sh .
Erreurs courantes
Utiliser le mode non-cône sans bonne raison.