Annulla una scorta di git


337

Ho appena fatto una scorta in un progetto che non ho commesso. C'è un modo per tornare allo stato prima che mi nasconda? Come potrei farlo? Ho chiuso il terminale e il mio laptop è spento. Ho fatto qualche ricerca e sembra che non ci sia modo di farlo.


Post correlato qui .
RBT,

Risposte:


653

Puoi semplicemente eseguire:

git stash pop

e annullerà le modifiche.

Se si desidera preservare lo stato dei file (messi in scena vs. funzionanti), utilizzare

git stash apply --index

10
Bene, non proprio. Non ripristinerà ciò che si trova nella directory di gestione temporanea, quindi dovrai ripristinare tutto ciò (il che può essere fastidioso se avessi appena fatto un git complesso add -p
Nick

Non ha funzionato per me. Ho ottenuto un errore: mymodule/MyClass.java: needs merge - unable to refresh index. Evitare una fusione manuale era esattamente il mio obiettivo quando si utilizza git stash pop...
TanguyP,

Salvato la mia vita. Ho pensato che tutti i miei cambiamenti sono spariti e ho bisogno di tutto ancora. Grazie
Ankit Shah,

@TanguyP quindi qual è stata la tua soluzione alla fine?
theonlygusti

119

git stash list per elencare le modifiche nascoste.

git stash showper vedere cosa nc'è nei comandi seguenti.

git stash apply per applicare la scorta più recente.

git stash apply stash@{n} per applicare una scorta più vecchia.

http://git-scm.com/book/en/Git-Tools-Stashing


1
anche "git stash show" dopo "git stash list" solo per completare questa eccellente risposta e identificare meglio con cosa sostituire n. Risulta che ho roba nascosta da file che non esistono più!
JimLohse,

15

Ciò ripristinerà anche la directory di gestione temporanea:

git stash apply --index
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.