Como Git stash Pop stash específico stash em 1.8.3?
corri {[[0]} e tive este erro.
Fatal: argumento Ambíguo 'stash@1': revisão ou localização desconhecida não em a árvore de trabalho. Usar o ' -- ' para separar os caminhos das revisões, como este: 'git [...] -- [...]'
eu tentei cerca de 20 + variações sobre isso, bem como usando apply
em vez de pop
sem nenhum sucesso. O que mudou? Mais alguém encontrou isto?
9 answers
git stash apply n
Funciona a partir da versão 2.11 do git
Resposta Original, possivelmente ajudando a depurar problemas com a sintaxe mais antiga envolvendo fugas da shell:
Como indicado anteriormente, os suspensórios encaracolados podem necessitar de escapar ou citar dependendo do seu SO, shell, etc.
Ver " stash@{1} é ambíguo? " para algumas dicas detalhadas do que pode estar a correr mal, e como trabalhar à sua volta em várias conchas e plataformas.
git stash list
git stash apply stash@{n}
git stash pop stash@\{1\}
Se quiser ter a certeza que não tem de lidar com aspas para a sintaxe stash@{x}
, use o Git 2. 11 (Q4 2016)
Ver commit a56c8f5 (24 de Outubro de 2016) por Aaron m Watson (watsona4
).
(fundido por Junio C Hamano -- gitster
-- em 9a1f90 , 31 de Outubro 2016)
stash
: permitir que os stashes sejam referenciados apenas pelo índiceEm vez de referenciar explicitamente
stash@{n}
, torne possível simplesmente referência como "n
".
A maioria dos usuários apenas faz stashes de referência pela sua posição na pilha de stash (o que eu me refiro como o "índice" aqui).A sintaxe para o stash típico (
Por causa disso, a capacidade de fazer coisas com o stash basta referenciar o índice é desejável.stash@{n}
) é ligeiramente irritante e fácil de esquecer, e às vezes difícil de escapar adequadamente em um script .
Então:
git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1
Na Powershell do Windows eu dirijo isto:
git stash apply "stash@{1}"
git stash pop stash@"{1}"
Se nenhum dos trabalhos acima, aspas em torno do stash em si podem funcionar para si:
git stash pop "stash@{0}"
Tenho 2.22 instalados e isto funcionou..
git stash pop --index 1
Versão 2. 11 + utilizar o seguinte:
git stash list
git stash apply n
N é o número stash@{12}
Primeiro verifique a lista: -
git stash list
Copia o índice que querias gravar da lista de stash
git stash pop stash@{index_number}
Eg.:
git stash pop stash@{1}