나는 나의 은닉에 대한 정보를 얻으려고하지만, 자식은 나에게 말하고 stash@{0}
하고 stash@{1}
모호하다. git stash list
잘 작동 .git/logs/refs/stash
하고 적절한 내용을 가지고있는 것 같습니다 (제가 git 내부에 대한 전문가가 아닙니다).
% 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
그냥 평범하게 git stash show
잘 작동합니다. 그렇다면 git stash list
내게주는 이름이 모호한 이유는 무엇입니까?
답변
셸이 중괄호를 먹고 있으므로라고 말하는 동안 stash@{1}
git은 볼 수 stash@1
있으며 의미가 없습니다. 인수를 따옴표로 묶 git stash apply "stash@{1}"
거나 ( 또는 git stash apply stash@"{1}"
; 따옴표를 사용 하면 작동 함) 중괄호 사이에 쉼표가있을 때만 중괄호를 확장하도록 쉘을 재구성하십시오 (zsh는 어느 쪽이든 구성 할 수 있으며, bash는 쉼표 또는 범위로 중괄호 만 확장하고, 기타 쉘은 하나 또는 다른 방식으로 작동 할 수 있습니다.)
답변
안녕하세요 저도 똑같은 일이 일어났습니다. 가장 쉬운 수정 방법은 다음과 같습니다.
$ git stash apply stash@"{2}"
Windows git shell을 사용하고 있습니다.
답변
Windows에서 Magit을 사용하여 Emacs에서 작업하는 동안이 오류가 발생하는 경우 (예 : 저처럼)
이 빠른 솔루션이 도움이되기를 바랍니다.
(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)))
)
)
이것은 다음 {}
에서 ("stash", "cmd", "stash@{0}")
실행되는 세 번째 매개 변수를 인용 합니다.magit-run-git
답변
zsh 사용자의 경우 :
$ git stash apply stash@'{'1'}'
답변
간단한 따옴표 사이에 숨김 ID를 넣으십시오.
git stash apply 'stash@{1}'