我试图获取关于我的存储的信息,但git告诉我stash@{0}
和stash@{1}
是不明确的。git stash list
工作正常,.git/logs/refs/stash
似乎有适当的内容(并不是说我是git内部的Maven)。
% 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
给我的名字被认为是模棱两可的呢?
5条答案
按热度按时间xkftehaa1#
你的shell正在吃掉你的花括号,所以当你说
stash@{1}
时,git看到的是stash@1
,这对它来说毫无意义。引用参数(使用git stash apply "stash@{1}"
或git stash apply stash@"{1}"
;用两种方式都可以),或者重新配置shell,只在大括号之间有逗号的时候才展开大括号(zsh可以用两种方式中的任何一种来配置; bash只会用逗号或范围来扩展花括号,而其他shell可能会有不同的行为)。af7jpaap2#
我也经历过同样的事情。我发现最简单的解决方法是:
我使用的是Windows Git shell。
pgpifvop3#
简单地将stash id放在简单的引号之间:
bmp9r5qi4#
如果你在Windows上使用Magit在Emacs中工作时遇到这个错误(像我一样),
我希望这个快速的解决方案能帮助你:
这将在
magit-run-git
运行的("stash", "cmd", "stash@{0}")
的第三个参数中引用{}
6yjfywim5#
对于zsh用户: