Como Git stash Pop stash específico stash em 1.8.3?

Acabei de actualizar o Git. Estou no Git versão 1.8.3.

Esta manhã tentei desfazer uma mudança bem no fundo da pilha.

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?

Author: Shree, 2013-07-03

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}

Aplicar o stash Git versão

 434
Author: Bob Gilmore, 2020-04-01 20:53:56
Tens de fugir do aparelho.
git stash pop stash@\{1\}
 189
Author: Vasiliy, 2017-10-03 21:48:44

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 índice

Em vez de referenciar explicitamentestash@{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 (stash@{n}) é ligeiramente irritante e fácil de esquecer, e às vezes difícil de escapar adequadamente em um script .

Por causa disso, a capacidade de fazer coisas com o stash basta referenciar o índice é desejável.

Então:

git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1
 99
Author: VonC, 2018-10-09 17:53:41

Na Powershell do Windows eu dirijo isto:

git stash apply "stash@{1}"
 52
Author: Robert Brooker, 2015-07-01 22:13:39
Como o Robert disse, aspas podem servir para ti.
git stash pop stash@"{1}"
 17
Author: owenmck, 2015-08-18 02:22:57

Se nenhum dos trabalhos acima, aspas em torno do stash em si podem funcionar para si:

git stash pop "stash@{0}"
 12
Author: Kenan, 2017-04-24 15:00:42

Tenho 2.22 instalados e isto funcionou..

git stash pop --index 1
 5
Author: markg, 2019-10-03 23:55:52

Versão 2. 11 + utilizar o seguinte:

git stash list

git stash apply n

N é o número stash@{12}

 4
Author: manish kumar, 2019-09-05 05:40:57

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}
 1
Author: Jabbi Syed, 2019-02-05 12:52:08