Normalmente, si può fare:Tutti in scena, ma non impegnati, i file cancellati dopo il rilascio: git resettare TESTA --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
Credo di aver fatto qualcosa di veramente brutto:
$ 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-
Risultato: tutto in scena, ma non impegnati, i file eliminati 0_o
git reset --hard HEAD\^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
c'è qualcosa che posso fare per recuperare il file che ho appena cancellato? In altre parole, è possibile ripristinare un repository git alla condizione in cui era prima (o quando) è stato emesso il comando git add -A
?
Solo una nota per lo più irrilevante che è possibile utilizzare 'git show' come alternativa a' git cat-file -p'. Bella risposta. Non me ne sono reso conto da solo. –
@MichaelMior Vero, di solito uso 'cat-file -p' anche se mi dà lo stesso risultato per qualsiasi tipo di oggetto;) – poke
Grazie! Neanch'io lo sapevo. La realtà un po 'triste è che sarà più facile ricreare tutti i file poiché si trattava di un progetto Android relativamente nuovo e molti file sono stati eliminati, il che significa che un albero relativamente grande è stato perso. Ma dovrei essere in grado di ottenere il codice che ho scritto dai BLOB usando la tua soluzione e aggiungerlo di nuovo. (= – dcow