Git : comment supprimer tous les fichiers en dehors de l’historique

NicolasBrondinBernard

Auteur
@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 clean est 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 -n signifie 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
  • f pour forcer
  • d pour 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 -n permet de vérifier avant
  • git clean -fd supprime fichiers + dossiers
  • git clean -fdx fait le ménage complet

Vous avez terminé l'article ?
Nos cours complets
Passez à la vitesse supérieure grâce à nos formations !

Des cours complets, des exercices et des certificats pour vraiment apprendre la programmation !

4,8 en moyenne

Commentaires (0)

pour laisser un commentaire

Aucun commentaire pour l'instant

Questions fréquentes abordées dans l'article

git reset fichiers non suivis supprimer fichiers après git reset git clean -fd git clean -fdx différence git supprimer fichiers non suivis git untracked files after reset nettoyer projet git après reset