Git : comment supprimer tous les fichiers en dehors de l’historique
NicolasBrondinBernard
Découvrez comment supprimer les fichiers non suivis par Git après un git reset, avec git clean, les bonnes options et les précautions à connaître.
Article publié le 26/03/2026, dernière mise à jour le 26/03/2026
Quand on utilise Git, il y a une situation assez classique qui finit toujours par arriver.
un
git reset.
Vous revenez en arrière, vous changez d’état, vous annulez un commit ou vous bougez votre branche… et là, en regardant votre projet, vous vous retrouvez avec plein de fichiers qui traînent.
Parfois ce sont :
- des fichiers générés
- des dossiers de build
- des fichiers temporaires
- des morceaux d’un ancien état du projet
Et dans
git status, vous voyez apparaître une longue liste de fichiers “nouveaux”.
Git ne les a pas supprimés, parce qu’ils ne font pas partie des fichiers suivis à cet instant. Mais si vous souhaitez vous en débarasser (autrement qu’en supprimant tout à la main), voilà comment faire !
La bonne commande : git clean
Pour supprimer les fichiers non suivis, Git propose cette commande :
git clean -f
Cette commande supprime les fichiers non suivis du dossier courant.
Mais attention :
git cleanest une commande destructive.Une fois les fichiers supprimés, Git ne pourra pas les restaurer.
Le mode simulation
Avant de lancer une suppression, le bon réflexe est d’utiliser :
git clean -n
Le
-nsignifie dry run. C’est probablement l’option la plus importante de toute la commande.
Git affiche ce qu’il supprimerait, sans réellement le faire. Si vous avez beaucoup de fichiers apparus après un git reset, commencez toujours par là.
Supprimer les dossiers
Par défaut, git clean ne supprime pas les dossiers non suivis.
Or après un reset, ce sont souvent justement des dossiers entiers qui traînent :
dist/build/.cache/- anciens dossiers générés
Pour inclure les dossiers, utilisez :
git clean -fd
fpour forcerdpour inclure les répertoires
Dans beaucoup de cas, après un
git reset, c’est cette commande qu’on cherche vraiment.
Inclure les fichiers ignorés par .gitignore
Il y a un autre cas fréquent.
Vous faites un reset, puis vous voulez repartir d’un projet vraiment propre.
Mais certains fichiers sont ignorés par Git via .gitignore :
- dossiers de build
- fichiers d’environnement
- caches
- dépendances générées
Par défaut, git clean ne les supprime pas.
Si vous voulez aussi supprimer ces fichiers ignorés, il faut utiliser :
git clean -fdx
Cette commande supprime :
- les fichiers non suivis
- les dossiers non suivis
- les fichiers ignorés par
.gitignore
Elle est très utile pour remettre un projet dans un état vraiment propre.
Mais elle doit être utilisée avec une grande prudence.
Supprimer UNIQUEMENT les fichiers ignorés
Pour ne supprimer que les fichiers présents dans .gitignore ,on utilise le paramètre -X (à ne pas confondre avec -x) :
git clean -fdX
Supprime uniquement les fichiers ignorés
Conclusion
Retenez surtout ceci :
git clean -npermet de vérifier avantgit clean -fdsupprime fichiers + dossiersgit clean -fdxfait le ménage complet
Des cours complets, des exercices et des certificats pour vraiment apprendre la programmation !
4,8 en moyenne
Aucun commentaire pour l'instant