Passer au contenu
GitTree
Guides Git4 minutes de lecture

Comment ignorer les modifications locales et supprimer les fichiers non suivis dans Git

Trois commandes différentes effacent trois types différents de changement. Voici comment supprimer les modifications, les modifications par étapes et les nouveaux fichiers, un fichier ou tout, et comment le prévisualiser en premier afin que rien d'important ne les accompagne.

Écrit par Kodmora

L'éditeur de logiciels derrière GitTree

Mis à jour
  • Annuler et récupérer
  • Indexation
Sur cette page

Pour ignorer les modifications apportées aux fichiers suivis, exécutez `git restore .`. Pour supprimer les fichiers et dossiers non suivis, exécutez `git clean -fd`. Pour revenir complètement au dernier commit, exécutez `git reset --hard` suivi de `git clean -fd`. Git ne peut pas rétablir ces modifications par la suite, donc prévisualisez d'abord avec git status et git clean -nd.

Quelle commande rejette quoi ?

Commandes pour chaque type de changement
Ce que tu veux disparaîtreCommande
Modifications apportées à un fichier suivigit restore path/to/file
Modifications de tous les fichiers suivisgit restore .
Modifications échelonnées, conservation des modificationsgit restore --staged .
Modifications et modifications par étapesgit restore --staged --worktree .
Nouveaux fichiers que Git ne suit pasgit clean -f
Nouveaux fichiers et dossiersgit clean -fd
Tout depuis le dernier commitgit reset --hard puis git clean -fd

Comment puis-je annuler les modifications apportées à un fichier ?

git restore src/search.ts

# only some of the changes, hunk by hunk
git restore -p src/search.ts

# the same file as it was on another branch
git restore --source=main src/search.ts

Les guides plus anciens utilisent git checkout -- src/search.ts. Cela fonctionne toujours, mais git restore (Git 2.23 ou version ultérieure) ne fait que ce seul travail, il est donc plus difficile de l'utiliser à mauvais escient.

Comment puis-je annuler toutes les modifications locales ?

# tracked files, staged or not
git reset --hard

# then untracked files and folders
git clean -fd

# confirm
git status
# nothing to commit, working tree clean

git reset --hard sans validation conserve la branche là où elle se trouve et efface uniquement les fichiers. Git reset expliqué explique ce qu'il fait lorsque vous nommez un commit.

Comment supprimer un fichier sans le perdre ?

git restore --staged src/search.ts

Le fichier quitte la zone de préparation et vos modifications restent dans le dossier de travail. Rien n'est supprimé.

Comment supprimer les fichiers non suivis avec git clean ?

Prévisualisez toujours en premier. -n est un essai à sec, qui répertorie uniquement ce qui se passerait :

# preview files and folders
git clean -nd

# delete them
git clean -fd

# ask about each one
git clean -id
options propres de git
DrapeauSignification
-nEssai à sec : liste uniquement, ne rien supprimer
-fForce : nécessaire pour supprimer quoi que ce soit
-dInclure les dossiers non suivis
-iInteractif : choisissez ce qui se passe
-xSupprimez également les fichiers ignorés, tels que .env et node_modules
-XSupprimer uniquement les fichiers ignorés

Puis-je récupérer les modifications supprimées ?

  • Travail validé : oui, via git reflog.
  • Travail caché : oui. Même une réserve abandonnée peut souvent être retrouvée, comme indiqué dans récupérer une réserve abandonnée.
  • Indexation mais jamais validée : parfois, avec git fsck --lost-found.
  • Jamais indexés : non. L’histoire locale de votre éditeur l’a peut-être encore.

Si un fichier a été supprimé et validé, comment restaurer un fichier supprimé présente les étapes.

Comment ignorer les modifications dans GitTree

  1. Choisissez ce que vous jetez

    Passez la souris sur un fichier dans le panneau des modifications et sélectionnez Annuler les modifications apportées au fichier…, ou cliquez avec le bouton droit sur plusieurs fichiers pour Annuler les modifications…. Dans une comparaison, utilisez Discard Hunk ou Discard Lines.

  2. Nettoyer ou tout effacer

    Exécutez Nettoyer les fichiers non suivis… ou Abandonner toutes les modifications… à partir de la palette de commandes.

  3. Lire la confirmation

    La boîte de dialogue nomme ce qui se passe et Annuler est la valeur par défaut. GitTree enregistre d'abord un instantané de récupération afin que Annuler puisse le restaurer.

Suppression d'un fichier dans GitTree : survolez le fichier, appuyez sur Supprimer, lisez la confirmation.
Suppression d'un fichier dans GitTree : survolez le fichier, appuyez sur Supprimer, lisez la confirmation.Interface GitTree avec un référentiel de démonstration.

Consultez abandonner les modifications et nettoyer les fichiers non suivis pour chaque option, ainsi que la leçon ignorer et nettoyer pour vous entraîner.

Questions fréquemment posées

Quelle est la différence entre git restaurer et git checkout ?

git checkout change de branche et restaure les fichiers. Git 2.23 divise ces tâches en git switch et git restore, qui sont plus claires. L'ancien formulaire fonctionne toujours.

Est-ce que git reset --hard supprime les fichiers non suivis ?

Non, il réinitialise uniquement les fichiers suivis. Les nouveaux fichiers restent jusqu'à ce que vous exécutiez git clean -fd.

Pourquoi git clean dit-il « refuser de nettoyer » ?

Git nécessite -f par défaut (clean.requireForce) afin qu'une faute de frappe ne puisse pas supprimer de fichiers. Ajoutez -f une fois que le test à sec semble correct.

Est-ce que git clean supprime les fichiers ignorés ?

Non, sauf si vous ajoutez -x ou -X. Un simple git clean -fd laisse tout seul dans .gitignore.

Comment conserver les modifications tout en obtenant un dossier propre ?

Exécutez git stash -u. Il enregistre les modifications suivies et non suivies et efface le dossier. Rapportez-les plus tard avec git stash pop, comme l'explique le guide de cachette.

Sources

Les allégations concernant d'autres produits ont été vérifiées par rapport à leurs pages officielles sur 7 novembre 2026. Les prix et les fonctionnalités changent ; les pages des fournisseurs sont la source de vérité.