git - tutorial - stash @{1} es ambiguo?
git stash untracked files (5)
Estoy tratando de obtener 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 interna).
% 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?
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.
Para usuarios de zsh:
$ git stash apply stash@''{''1''}''
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
Simplemente ponga la identificación escondida entre comillas simples:
git stash apply ''stash@{1}''
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 rango entre ellos, otros caparazones pueden comportarse de una u otra manera).