Desfazer um stash git

337

Acabei de fazer um esconderijo em um projeto que não comprometi. Existe uma maneira de voltar ao estado antes de eu esconder? Como eu pude fazer isso? Fechei o terminal e meu laptop foi desligado. Eu fiz algumas pesquisas e parece que não há como fazer isso.

adit
fonte
Post relacionado aqui .
RBT 5/09

Respostas:

653

Você pode simplesmente executar:

git stash pop

e descompactará suas alterações.

Se você deseja preservar o estado dos arquivos (preparado versus funcionando), use

git stash apply --index
ziad-saab
fonte
10
Bem, não exatamente. Não vai redefinir o que está no diretório provisório, assim você terá que restage tudo o que (o que pode ser irritante se você tinha acabado de fazer um complexo -p git add
Nick
Não funcionou para mim. Eu tenho um erro: mymodule/MyClass.java: needs merge - unable to refresh index. Evitando uma mesclagem manual foi precisamente o meu objetivo ao usar git stash pop...
TanguyP
Salvou a minha vida. Eu pensei que todas as minhas mudanças se foram e preciso de todas as coisas novamente. Obrigado
Ankit Shah
@TanguyP, então qual foi sua solução no final?
theonlygusti
119

git stash list para listar suas alterações ocultas.

git stash showpara ver o que nestá nos comandos abaixo.

git stash apply para aplicar o stash mais recente.

git stash apply stash@{n} para aplicar um estoque mais antigo.

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

OmnipotentEntity
fonte
1
também "git stash show" depois de "git stash list" apenas para completar esta excelente resposta e identificar melhor com o que substituir n. Acontece que eu tenho coisas escondidas de arquivos que não existem mais!
precisa saber é o seguinte
15

Isso também restaurará o diretório temporário:

git stash apply --index
wisbucky
fonte