stash @ {1}含糊不清?

Unc*_*mon 115 git

我正在尝试获取有关我藏匿的信息,但是git告诉我这个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
Run Code Online (Sandbox Code Playgroud)

简单的git stash show工作正常.那么为什么git stash list给我的名字含糊不清呢?

Jan*_*dec 220

你的shell正在吃你的花括号,所以当你说stash@{1},git看到stash@1它并没有意义.引用参数(使用git stash apply "stash@{1}")或重新配置你的shell只在它们之间有一个逗号时展开大括号(zsh可以用任何一种方式配置,bash只用逗号扩展大括号或它们之间的范围,其他shell可能表现为一种或其他方式).

  • 在Windows上,PowerShell也会使用括号.你可以用反引号"`(git stash drop stash @` {1`})``来逃避它们 (81认同)
  • 谢谢,这发生在Fish,不知道发生了什么. (8认同)
  • 哦,我的,一年后,我再次回到这里,因为我有一个问题.只是说明我很少使用它.然后看到我在上面留下了一个肯定的评论,说它发生在Fish.太搞笑了. (4认同)
  • @Sergey对PowerShell使用stash @ \`{0 \`}(反引号)或'stash @ {0}'(单引号). (3认同)

小智 23

嗨,我有同样的事情发生在我身上.最简单的解决方法是:

$ git stash apply stash@"{2}"
Run Code Online (Sandbox Code Playgroud)

我正在使用windows git shell.

  • 同样,`git stash应用“ stash @ {2}”` (2认同)