web-dev-qa-db-fra.com

Comment annuler des modifications locales dans un fichier spécifique

J'essaie d'annuler les modifications locales apportées à un fichier spécifique. Rien n'a été commis.

Lorsque je veux annuler toutes les modifications, je peux effectuer git revert --reset HEAD. Cependant, dans ce cas, je ne veux pas annuler toutes les modifications apportées à tous les fichiers.

Ce n'est pas clair ni évident pour moi de restaurer un fichier, même après avoir lu la page de manuel git-revert(3):

NAME
       git-revert - Revert some existing commits

SYNOPSIS
       git revert [--[no-]edit] [-n] [-m parent-number] [-s] <commit>...
       git revert --continue
       git revert --quit
       git revert --abort
...

Ceci est similaire à Comment restaurer un fichier spécifique dans un ancien commit sur git , mais aucun commit n'a été effectué. Et contrairement à OP, qui souhaite revenir à une validation arbitraire, je souhaite simplement que le fichier retourne à la copie de MASTER.

Sous SVN, je voudrais simplement supprimer le fichier en question, puis effectuer un svn update.

Comment rétablir les modifications dans un seul fichier?

151
jww

Vous ne voulez pas git revert. Cela annule un commit précédent. Vous voulez que git checkout récupère la version git du fichier auprès de master.

git checkout -- filename.txt

En général, lorsque vous souhaitez effectuer une opération git sur un seul fichier, utilisez -- filename.


273
mkasberg