Comment rétablir un “git rm-r .”?

Je accidentely dit git rm -r .. Comment puis-je récupérer à partir de ce?

Je n'ai pas commis.

Je pense que tous les fichiers ont été marqués pour suppression et ont également été physiquement supprimé de mon local de la caisse.

EDIT: je pourrais (si je savais que la commande) revenir à la dernière validation. Mais il serait beaucoup mieux si je pouvais simplement annuler la git rm -r .. Parce que je ne suis pas vraiment sûr de ce que j'ai fait après le dernier commit et avant la git rm -r ..

  • Pour cette question en particulier, reset --hard est une bonne solution...c'est déjà répertorié, donc je vais juste citer dans ce commentaire que vous pourriez vouloir vérifier la documentation de git-reflog.
  • Notez que parce que vous n'avez pas à fournir -f à git rm git de ne pas avoir supprimé tous les fichiers qui avaient organisé ou unstaged changements donc un git reset; git checkout . devrait récupérer tout.
  • Il suffit de regarder - git checkout . pour effacer tous les unstaged changements.
  • J'ai juste fait quelque chose comme cela, et je ne comprends pas pourquoi mes fichiers locaux où supprimé (et, comme l'OP, je n'ai pas encore commis.)
  • Avec Git 2.23+ (août 2019), vous pouvez restaurer les fichiers avec git restore: git restore -s@ -SW -- .. Voir ma réponse ci-dessous.
InformationsquelleAutor user89021 | 2010-01-24