Estou tentando obter informações sobre meu estoque, mas o git está me dizendo isso stash@{0}
e stash@{1}
é ambíguo. git stash list
funciona bem e .git/logs/refs/stash
parece ter o conteúdo apropriado (não que eu seja um especialista em git internals).
% git stash list
stash@{0}: On master: two
stash@{1}: On master: one
% git stash show stash@{1}
fatal: ambiguous argument 'stash@1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Simplesmente git stash show
funciona bem. Então, por que os nomes que git stash list
me dão são considerados ambíguos?
stash
, que estava causando o erro.stash
, causando o erro!Respostas:
Seu shell está comendo seus colchetes, então enquanto você diz
stash@{1}
, o git vêstash@1
e isso não faz sentido. Cite o argumento (usegit stash apply "stash@{1}"
ougit stash apply stash@"{1}"
; citar de qualquer maneira funcionará) ou reconfigure seu shell para expandir somente colchetes quando houver uma vírgula entre eles (o zsh pode ser configurado de qualquer maneira, o bash só expande colchetes com vírgula ou intervalo entre eles, outro conchas podem se comportar de uma ou de outra maneira).fonte
(git stash drop stash@`{1`})
Olá, aconteceu o mesmo comigo. A maneira mais fácil de corrigir era:
Estou usando um shell git do windows.
fonte
git stash apply "stash@{2}"
Se você tiver esse erro enquanto trabalha no Emacs com Magit no Windows (como eu)
, espero que esta solução rápida o ajude:
Isso citará
{}
um terceiro parâmetro no("stash", "cmd", "stash@{0}")
qual é executado pormagit-run-git
fonte
Para usuários zsh:
fonte
Basta colocar o stash id entre aspas simples:
fonte