Mémo Git · Modifications

Annuler des modifications

git restore <fichier>

Pour abandonner les modifications d'un fichier et revenir à sa dernière version enregistrée, lance git restore <fichier>. Attention, c'est définitif : Git ne garde aucune copie des modifications non commitées.

Ce que ça fait

Remet un fichier dans l'état de l'index : les modifications non indexées sont abandonnées.

Un cas d'usage

Tu as fait des essais dans un fichier et tu veux repartir de la dernière version propre.

Attention : Irréversible : les modifications sont perdues et un fichier non suivi est supprimé du disque.

En ligne de commande

git restore <fichier>
Remet le fichier dans l'état de l'index.
git restore .
Abandonne toutes les modifications non indexées du dossier courant.
git restore --source=HEAD --staged --worktree <fichier>
Revient au dernier commit, indexé ou non.
git restore -p <fichier>
N'abandonne que certains blocs.
git checkout -- <fichier>
Ancienne syntaxe, équivalente à git restore.
git clean -n puis git clean -f
Liste, puis supprime, les fichiers non suivis.

Dans Merathon

  1. Survole le fichier dans « Non indexé » et clique sur la flèche de retour (« Annuler les modifications »), ou clic droit → « Annuler les modifications… ».
  2. Depuis le diff, « Annuler le bloc » n'abandonne qu'une partie du fichier.

Questions fréquentes

Peut-on récupérer des modifications annulées par git restore ?

Non, si elles n'avaient jamais été indexées ni commitées. Si tu hésites, mets-les plutôt de côté avec git stash.

Quelle différence avec git reset --hard ?

git restore agit sur des fichiers. git reset --hard remet toute la copie de travail, et peut déplacer la branche sur un autre commit.

Voir aussi