git sparse-checkout
N’extraire que certains dossiers d’un grand dépôt
La commande 'git sparse-checkout' limite les dossiers présents sur le disque. Les fichiers hors de ces dossiers restent dans chaque commit et dans le dépôt, ils ne sont simplement pas extraits — utile dans les dépôts énormes où l’on ne travaille que sur une partie. En mode cone (par défaut), les fichiers de premier niveau sont toujours présents. git status indique le pourcentage de fichiers présents sur le disque.
Synopsis
git sparse-checkout (set | add) <folder>...
git sparse-checkout list
git sparse-checkout disableOptions
Choisir la bonne option
Travailler avec un dépôt énorme
Moins sur le disque ou moins téléchargé
| Commande | Économise |
|---|---|
git sparse-checkout | Espace disque et temps d’extraction |
git clone --filter=blob:none | Taille du téléchargement (clone partiel) |
git clone --depth 1 | Taille de l’historique (clone superficiel) |
Exemples
Garder un dossier
git sparse-checkout set srcSeulement src/ et les fichiers de premier niveau.
Ajouter un dossier
git sparse-checkout add docsdocs/ revient aussi.
Le désactiver
git sparse-checkout disableTous les fichiers à nouveau.
Exemples de workflows
git clone --filter=blob:none --sparse <url>Cloner léger, sparse dès le départ
git sparse-checkout set webNe garder que votre dossier
Dépannage
Un dossier manque
Cause : Il est hors du sparse checkout
git sparse-checkout add <folder>
Astuces et pièges
Bonnes pratiques
- ✓Utilisez le mode cone (par défaut) — il est bien plus rapide que les motifs.
Erreurs fréquentes
- ✗Croire que les fichiers masqués sont supprimés du projet — ils sont toujours committés et poussés normalement.
FAQ
Vous ne les voyez pas, donc vous ne les touchez normalement pas ; les commits les gardent inchangés.