Cours
Git Clean : Supprimez les fichiers non suivis et maintenez les dépôts en ordre
Lorsque vous travaillez sur un dépôt Git, il est courant d'accumuler des fichiers et des répertoires non suivis qui ne font pas partie du système de contrôle de version du dépôt. Il peut s'agir de fichiers temporaires, d'artefacts de construction ou d'autres fichiers créés localement qui ne sont pas livrés. Au fil du temps, ces fichiers peuvent encombrer le répertoire de travail, rendant plus difficile le maintien d'un espace de travail propre et organisé.
Pour résoudre ce problème, Git propose la commande git clean
, qui supprime les fichiers et répertoires non suivis. Dans ce guide, je vais vous montrer comment utiliser git clean
en toute sécurité, ses différentes options, et les meilleures pratiques pour éviter la suppression involontaire de fichiers tout en gardant votre dépôt Git en ordre. Pour aller plus loin, je vous recommande ( ) de suivre nos cours Foundations of Git et Introduction to GitHub Concepts pour en savoir plus sur le contrôle de version et la différence entre Git et GitHub.
Comprendre git clean
La commande git clean
est un outil utile dans Git qui supprime les fichiers non suivis du répertoire de travail. La commande git clean
est utile lorsque vous devez réinitialiser votre répertoire de travail à un état vierge, par exemple avant de changer de branche ou après l'exécution de processus de construction qui génèrent des fichiers temporaires. Cependant, la commande git clean
doit être utilisée avec précaution car elle supprime définitivement les fichiers et répertoires non suivis sans les déplacer dans la corbeille.
Contrairement à git reset
ou git checkout
, qui modifient les fichiers cursus, git clean
traite strictement des fichiers et des répertoires qui ne sont pas sous contrôle de version. Il s'agit notamment de
-
Fichiers temporaires créés par les constructions
-
Fichiers journaux ou données mises en cache
-
Fichiers listés dans .gitignore (si spécifié explicitement avec
-x
)
La commande git clean
est utile pour maintenir un répertoire de travail ordonné, en complément d'autres commandes Git telles que git reset
et git checkout
, qui gèrent les modifications dans les fichiers suivis.
Je trouve que le Complete Git Cheat Sheet est un guide de référence pratique pour les commandes Git les plus courantes.
Utilisations courantes de git clean
La commande git clean
est un outil utile pour maintenir un répertoire de travail propre. Vous trouverez ci-dessous quelques cas d'utilisation courants dans lesquels git clean
peut supprimer en toute sécurité des fichiers et des répertoires inutiles.
Suppression des fichiers non suivis
Lorsque vous travaillez dans un dépôt Git, les fichiers non suivis peuvent s'accumuler au fil du temps. Les options suivantes permettent de les supprimer :
-
git clean -f
: Force la suppression des fichiers non suivis. -
git clean -fd
: Supprime les fichiers et les répertoires non suivis. -
git clean -fx
: Supprime les fichiers non suivis et ignorés tels que ceux répertoriés dans.gitignore
.
Cependant, vous devez être prudent lorsque vous utilisez l'option -fx
car elle supprime également les fichiers ignorés. Vérifiez toujours à l'aide d'un essai à blanc (git clean -n
) avant d'exécuter la commande.
Mode interactif
La commande git clean -i
active un mode interactif, permettant aux utilisateurs de supprimer sélectivement les fichiers non suivis. Ce mode est utile lorsque vous souhaitez mieux contrôler les fichiers ou les répertoires à supprimer.
Supposons que vous travaillez sur un projet dont vous avez déjà enregistré les modifications dans le dossier Olympics
. Cependant, vous avez ajouté de nouvelles sources de données nommées 2024_Data,
et 2025_Data
. Si vous exécutez la commande git clean -i
, vous obtiendrez une invite vous permettant de choisir parmi les options suivantes pour supprimer les modifications non suivies.
-
clean
: Supprimer les fichiers sélectionnés -
filter
: Spécifiez un modèle de fichiers à nettoyer -
select
: Choisissez des fichiers individuels par numéro -
quit
: Quitter sans rien effacer
git clean -i mode interactif. Image par l'auteur.
Essai de sécurité
L'utilisation de l'option git clean -n
est une mesure de sécurité utile, car elle permet d'effectuer un "essai à blanc", en affichant une liste de fichiers et de répertoires non suivis qui seraient supprimés, sans pour autant les supprimer. Cela vous permet de revoir les modifications avant de les exécuter.
Dans l'exemple ci-dessous, la commande git clean -n
dresse la liste des fichiers à supprimer, mais ne les supprime pas.
git clean -n pour une exécution à blanc. Image par l'auteur.
Combinaison avec git reset
Pour réinitialiser complètement un répertoire de travail Git, vous pouvez combiner git reset and git clean
where :
-
git reset --hard
: Réinitialise les fichiers cursus à l'état de la dernière livraison, en supprimant toute modification locale. -
git clean -fd
: Supprime les fichiers et les répertoires non suivis, en ne laissant que les fichiers validés.
Cette combinaison garantit un répertoire de travail totalement propre, ce qui est utile lorsque vous changez de branche, annulez des modifications expérimentales ou préparez un nouveau départ.
Consultez ou Git Pull Force : Comment écraser une branche locale avec une branche distante tutoriel pour apprendre les meilleures pratiques pour écraser les changements locaux.
Guide pas à pas pour l'utilisation de git clean
Suivez ces étapes pour nettoyer en toute sécurité votre dépôt Git et supprimer les fichiers et répertoires non suivis indésirables.
Étape 1 : Vérifier l'état actuel
Avant le nettoyage, lancez git status
pour vérifier l'état actuel de votre dépôt et voir quels sont les fichiers non suivis.
git status
git status pour vérifier l'état actuel du dépôt. Image par l'auteur.
Étape 2 : Prévisualisez ce qui sera supprimé
Avant d'exécuter une commande de suppression, utilisez git clean -n
pour avoir un aperçu de ce qui sera supprimé.
git clean -n
git clean -n pour avoir un aperçu de ce qui doit être supprimé. Image par l'auteur.
Étape 3 : Supprimer les fichiers non suivis
Exécutez git clean -f
pour supprimer les fichiers non suivis si l'aperçu semble correct.
git clean -f
Supprimez les modifications non suivies en utilisant git clean -f. Image par l'auteur.
Étape 4 : Supprimer les répertoires non suivis
Utilisez git clean -fd
pour supprimer les répertoires non suivis.
git clean -fd
Supprimez les répertoires non suivis en utilisant git clean -fd. Image par l'auteur.
Étape 5 : Supprimer les fichiers ignorés
Pour supprimer les fichiers non suivis et ignorés, utilisez la commande git clean -fx
.
git clean -fx
Étape 6 : Utilisez le mode interactif pour un nettoyage sélectif
Pour plus de contrôle, envisagez d'utiliser git clean -i
pour une suppression interactive. Ce mode vous permet de sélectionner les fichiers à supprimer individuellement.
Git clean -i
git clean -i mode interactif pour un nettoyage sélectif. Image par l'auteur.
git clean vs. Autres commandes Git
La commande git clean
est souvent comparée à d'autres commandes Git qui modifient ou réinitialisent les fichiers. Le tableau ci-dessous met en évidence les principales différences :
Commandement | Fonction |
---|---|
git clean |
Supprime définitivement les fichiers et répertoires non suivis. |
git reset |
Réinitialise les fichiers cursus à un état antérieur, ce qui affecte les modifications mises à disposition et validées. |
git checkout (ou git restore ) |
Ignore les modifications apportées aux fichiers suivis, mais ne les supprime pas. |
git stash |
Enregistre temporairement les modifications suivies et non suivies en vue d'une utilisation ultérieure. |
Meilleures pratiques Git Clean
Pour utiliser git clean
de manière sûre et efficace, suivez ces bonnes pratiques :
-
Utilisez des essais à vide (-n) avant la suppression : Utilisez toujours l'option
git clean -n
pour effectuer une simulation avant d'exécutergit clean
. Cela vous permet d'avoir un aperçu des fichiers qui seront supprimés sans les supprimer réellement. -
Faites attention aux fichiers ignorés : Lorsque vous utilisez
git clean
, soyez prudent avec l'option-x
, qui supprime les fichiers ignorés. Cette opération peut potentiellement supprimer d'importants fichiers de configuration répertoriés à l'adresse.gitignore
. Si vous devez supprimer des fichiers ignorés, utilisez la commandegit clean -fx
. -
Combinez avec Git Reset pour un nettoyage complet : Pour réinitialiser complètement votre référentiel, combinez
git reset
avecgit clean
, oùgit reset --hard
restaure les fichiers cursus à leur dernier état de livraison etgit clean -fd
supprime les fichiers et répertoires non suivis. -
Utilisez le mode interactif (-i) pour des suppressions plus sûres : Au lieu de supprimer aveuglément des fichiers, utilisez le mode interactif (
git clean -i
) pour examiner et sélectionner les fichiers à supprimer.
Risques potentiels et précautions
L'utilisation de git clean
peut être risquée si elle n'est pas effectuée avec précaution, car elle supprime définitivement les fichiers sans les stocker nulle part. Voici quelques risques et précautions à prendre en compte :
-
Les fichiers sont définitivement supprimés: Contrairement à
git stash
, qui enregistre temporairement les modifications,git clean
supprime définitivement les fichiers et répertoires non suivis. Une fois supprimés, ces fichiers ne peuvent pas être récupérés par Git. Si vous risquez d'avoir besoin des fichiers plus tard, envisagez de les stocker ou de les sauvegarder avant d'exécuter la commandegit clean
. -
Soyez prudent avec l'option -x : L'utilisation de
git clean-fx
supprime les fichiers ignorés, qui peuvent inclure des fichiers de configuration importants répertoriés dans.gitignore
ou des caches de dépendances commenode_modules/
etvenv/
. La suppression accidentelle de ces fichiers peut perturber les constructions ou les environnements de développement, c'est pourquoi vous ne devez utiliser cette option qu'en cas de nécessité. -
Faites d'abord un essai à blanc: Effectuez toujours un essai à l'aide de
git clean -n
avant d'exécutergit clean -f
. Cette étape vous permet de prévisualiser les fichiers qui seront supprimés, ce qui vous permet d'éviter la suppression accidentelle de fichiers importants. -
Approches alternatives: Dans certains cas, l'utilisation de
git stash
peut être une meilleure option quegit clean
. La commandegit stash -u
stocke les fichiers non suivis, à l'exclusion des fichiers ignorés en vue d'une éventuelle récupération ultérieure, et la commandegit stash pop
restaure les modifications stockées si nécessaire. Cette méthode est utile lorsque vous devez changer de branche ou nettoyer votre espace de travail sans perdre définitivement les modifications.
Conclusion
Une base de code bien entretenue témoigne d'un souci du détail, d'une efficacité et d'une capacité à gérer les ressources numériques de manière responsable. Les employeurs recherchent des développeurs qui comprennent les meilleures pratiques telles que l'utilisation de git clean -n
avant de supprimer des fichiers, la prudence avec les fichiers ignorés en utilisant -x
, et l'utilisation d'alternatives plus sûres telles que git stash
.
Suivre des cours DataCamp n'est pas seulement une excellente façon d'apprendre, mais c'est aussi un excellent moyen de signaler aux employeurs que vous prenez le développement de logiciels au sérieux. À cette fin, je vous recommande d'étudier notre article du blog Top 20 Git Interview Questions and Answers for All Levels et de suivre notre nouveau parcours de compétences Git Fundamentals pour devenir un expert en tout ce qui concerne Git.
Apprenez les bases de Git dès aujourd'hui
FAQ Git Clean
Que fait git clean ?
git clean
supprime les fichiers et répertoires non suivis de votre répertoire de travail Git.
Est-ce que git clean supprime les fichiers livrés ?
Non, git clean
ne supprime que les fichiers non suivis et n'affecte pas les fichiers validés ou mis à disposition.
Comment puis-je prévisualiser les fichiers avant de les supprimer ?
Utilisez git clean -n
pour effectuer une simulation et voir quels fichiers seront supprimés.
Quelle est la différence entre git clean -f et git clean -fd ?
git clean -f
supprime les fichiers non suivis, tandis que git clean -fd
supprime également les répertoires non suivis.
En quoi git clean est-il différent de git reset ?
git clean
supprime les fichiers non suivis, tandis que git reset
rétablit l'état antérieur des fichiers suivis.
Existe-t-il un moyen de supprimer des fichiers de manière sélective ?
Oui, utilisez git clean -i
pour le mode interactif, qui vous permet de choisir les fichiers à supprimer.
Apprenez Git avec DataCamp
Cours
Fondements de Git
Cours