Dans le monde du développement logiciel, Git est devenu un outil incontournable pour la gestion de versions. Cependant, avec des dépôts de plus en plus volumineux, il peut devenir fastidieux de cloner l'intégralité d'un projet, surtout si vous n'avez besoin que d'une partie spécifique du code. C'est là qu'intervient la commande git sparse-checkout.
Qu'est-ce que git sparse-checkout ?
Introduit depuis la version 2.25 de Git, git sparse-checkout est une fonctionnalité qui permet de cloner uniquement une partie d'un dépôt Git. Cela signifie que vous pouvez travailler avec un sous-ensemble de fichiers ou de dossiers sans avoir à télécharger l'intégralité du dépôt. Cette approche est particulièrement utile pour les projets de grande envergure ou les monorepos, où le clonage complet peut être coûteux en termes de temps et d'espace de stockage.
Contrairement à un clone classique, où tout le projet est récupéré, ici seule une partie est accessible, tout en conservant la possibilité d'accéder au reste du dépôt si besoin.
Comment utiliser git sparse-checkout ?
Initialiser le dépôt
Commencez par cloner le dépôt avec l'option --no-checkout pour éviter de télécharger tous les fichiers immédiatement.
git clone --no-checkout <URL_du_dépôt>
cd <nom_du_dépôt>
Activer sparse-checkout
git sparse-checkout init --cone
Sélectionner les fichiers ou dossiers à inclure
Spécifiez les dossiers ou fichiers que vous souhaitez vérifier. Par exemple, pour inclure uniquement le dossier src :
git sparse-checkout set src/
Vous ne verrez dans votre dossier de travail que src/.
Ajouter d'autres fichiers ou répertoires
Si vous souhaitez inclure d'autres éléments après coup, utilisez :
git sparse-checkout add bin/ templates/
Afficher la configuration actuelle
Pour voir quels fichiers sont actuellement sélectionnés :
git sparse-checkout list
Désactiver sparse-checkout et récupérer tout le dépôt
Si vous voulez revenir à un dépôt complet, utilisez :
git sparse-checkout disable
Conclusion
git sparse-checkout est un outil puissant pour gérer efficacement les grands dépôts Git en réduisant la quantité de fichiers récupérés. Il permet d'améliorer les performances et de travailler plus efficacement en ne téléchargeant que ce qui est réellement nécessaire.









