stash @ {1} es ambiguo?

Estoy tratando de get información sobre mi escondite, pero git me está diciendo que el stash@{0} y el stash@{1} son ambiguos. git stash list funciona bien, y .git/logs/refs/stash parece tener el contenido apropiado (no es que yo sea un experto en 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 

Simplemente el git stash show funciona bien. Entonces, ¿por qué los nombres que me da la git stash list me parecen ambiguos?

Tu caparazón se está comiendo las llaves, así que mientras dices stash@{1} , git ve stash@1 y eso no tiene sentido. Cite el argumento (use git stash apply "stash@{1}" ) o reconfigure su caparazón para expandir solo las llaves si hay una coma entre ellas (zsh se puede configurar de cualquier manera, bash solo expande llaves con una coma o range entre ellos, otros caparazones pueden comportarse de una u otra manera).

Hola, me pasó lo mismo. La forma más fácil de solucionarlo fue:

 $ git stash apply stash@"{2}" 

Estoy usando un shell de Windows Git.

Si tiene este error al trabajar en Emacs con Magit en Windows (como yo)
Espero que esta solución rápida te ayude:

 (if (eq system-type 'windows-nt) (defadvice magit-run-git (before magit-run-git-win-curly-braces (&rest args) activate) "Escape {} on Windows" (setcar (nthcdr 2 args) (replace-regexp-in-string "{\\([0-9]+\\)}" "\\\\{\\1\\\\}" (elt args 2))) ) ) 

Esto citará {} en un 3er parámetro en ("stash", "cmd", "stash@{0}") que es ejecutado por magit-run-git

Para usuarios de zsh:

 $ git stash apply stash@'{'1'}' 

Simplemente ponga la identificación escondida entre comillas simples:

 git stash apply 'stash@{1}'