git sparse-checkout

Espaces de travail et gros projets

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 disable
[ ] facultatif| ou<arg> valeur à remplacer... répétable--flag option

Options

Cliquez sur une option pour la déplier

Débutant (4)

Choisir les dossiers à garder sur le disque (remplace la liste actuelle).

RecommandéChoisir les dossiers dans lesquels vous travaillez

Exemple

git sparse-checkout set src

Ajouter des dossiers à ceux que vous gardez.

RecommandéÉtendre l’extraction sans tout recommencer

Exemple

git sparse-checkout add docs

Afficher les dossiers actuellement gardés.

RecommandéVérifier ce qui est sur le disque

Exemple

git sparse-checkout list

Désactiver le sparse checkout et restaurer chaque fichier.

RecommandéRevenir à une extraction normale

Exemple

git sparse-checkout disable

Choisir la bonne option

Travailler avec un dépôt énorme

Moins sur le disque ou moins téléchargé

CommandeÉconomise
git sparse-checkoutEspace disque et temps d’extraction
git clone --filter=blob:noneTaille du téléchargement (clone partiel)
git clone --depth 1Taille de l’historique (clone superficiel)

Exemples

Garder un dossier

git sparse-checkout set src

Seulement src/ et les fichiers de premier niveau.


Ajouter un dossier

git sparse-checkout add docs

docs/ revient aussi.


Le désactiver

git sparse-checkout disable

Tous les fichiers à nouveau.

Exemples de workflows

1
git clone --filter=blob:none --sparse <url>

Cloner léger, sparse dès le départ

2
git sparse-checkout set web

Ne 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

A:

Vous ne les voyez pas, donc vous ne les touchez normalement pas ; les commits les gardent inchangés.