Normalement, vous pouvez faire:mis en scène, mais non engagés, les fichiers supprimés après l'émission: git reset HEAD --hard
$ echo "Stanley, you must beware of the Drive bee" > file-a
$ echo "What's a Drive bee?" > file-b
$ git init .
$ git add file-b
$ git commit file-b -m "We don't know, but whatever error you make with it could be fatal."
$ git reset --hard HEAD
$ ls
file-a file-b
Je pense que je l'ai fait quelque chose de vraiment mauvais:
$ echo "What are you doing, you darn ?" > file-a
$ echo "Can't you see I'm trying to drive?" > file-
$ git init .
$ git add -A
$ git commit file- -m "Oh, my God! [It's] the Drive !"
$ git reset --hard HEAD
$ ls
file-
Résultat: tous mis en scène, mais non engagés, les fichiers supprimés 0_o
git reset --hard HEAD\^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Est-ce que je peux faire pour récupérer le fichier que je viens de supprimer? En d'autres termes, est-il possible de restaurer un dépôt git dans l'état où il était avant (ou quand) la commande git add -A
a été émise?
Juste une note pour la plupart hors de propos que vous pouvez utiliser 'git show' comme alternative à' git cat-file -p'. Très bonne réponse. Je ne m'en suis pas rendu compte moi-même. –
@MichaelMior Vraiment, j'utilise généralement 'cat-file -p' car il me donne la même sortie pour tout type d'objet;) – poke
Merci! Je ne le savais pas non plus. La réalité un peu triste est qu'il sera plus facile de recréer tous les fichiers car il s'agissait d'un projet Android relativement nouveau et beaucoup de fichiers ont été supprimés, ce qui signifie qu'un arbre relativement grand est perdu. Mais, je devrais être capable d'obtenir le code que j'ai écrit des blobs en utilisant votre solution et juste le rajouter. (= – dcow