Question Comment annuler les modifications non validées, y compris les fichiers et les dossiers?


Existe-t-il une commande git pour annuler toutes les modifications non validées dans une arborescence et un index et pour supprimer également les nouveaux fichiers et dossiers?


878
2018-04-27 16:06


origine


Réponses:


Vous pouvez exécuter ces deux commandes:

# Revert changes to modified files.
git reset --hard

# Remove all untracked files and directories. (`-f` is `force`, `-d` is `remove directories`)
git clean -fd

1473
2018-04-28 02:37



Si vous souhaitez annuler les modifications uniquement dans le répertoire de travail actuel, utilisez

git checkout -- .

Et avant cela, vous pouvez lister les fichiers qui seront annulés sans réellement faire d'action, juste pour vérifier ce qui va arriver, avec:

git checkout --

475
2018-06-21 04:41



Utilisez "git checkout - ..." pour annuler les modifications dans le répertoire de travail

git checkout -- app/views/posts/index.html.erb

ou

git checkout -- *

supprime toutes les modifications apportées aux fichiers non statisés dans l'état git

modified:    app/controllers/posts.rb
modified:    app/views/posts/index.html.erb

92
2018-03-13 01:16



Une manière non triviale est d'exécuter ces deux commandes:

  1. git stash  Cela va déplacer vos changements dans la mémoire, vous ramenant à l'état de HEAD
  2. git stash drop  Cela supprimera la dernière mise à jour créée dans la dernière commande.

42
2017-07-18 09:20



git clean -fd

n'a pas aidé, de nouveaux fichiers sont restés. Ce que j'ai fait est de supprimer complètement tout l'arbre de travail, puis

git reset --hard

Voir "Comment effacer mon répertoire de travail local dans git?"pour des conseils pour ajouter le -x option pour nettoyer:

git clean -fdx

Remarque  -x flag supprimera tous les fichiers ignorés par Git alors soyez prudent (voir la discussion dans la réponse à laquelle je me réfère).


14
2017-10-15 06:57



Je pense que vous pouvez utiliser la commande suivante: git reset --hard


10
2018-04-27 16:10



Veuillez noter qu'il peut toujours y avoir des fichiers qui ne semblent pas disparaître - ils peuvent être non édités, mais git pourrait les avoir marqués comme édités à cause des changements CRLF / LF. Voyez si vous avez fait des changements dans .gitattributes récemment.

Dans mon cas, j'ai ajouté les paramètres CRLF dans le .gitattributes fichier et tous les fichiers sont restés dans la liste "fichiers modifiés" à cause de cela. La modification des paramètres .gitattributes les a fait disparaître.


5
2017-07-19 10:07