1. ホーム
  2. git

[解決済み] stash@{1}は曖昧?

2022-07-06 14:17:57

質問

私は自分の隠し場所に関する情報を得ようとしているのですが、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

単なる git stash show は問題なく動作します。ではなぜ、その名前が git stash list が私に与える名前は、なぜ曖昧だと考えられているのでしょうか?

どのように解決するのですか?

シェルが中括弧を食っているので stash@{1} と言っている間、git は stash@1 と表示され、意味が分からなくなります。引数を引用して (使用する git stash apply "stash@{1}" または git stash apply stash@"{1}" 引用はどちらでも構いません)または、中括弧の間にカンマがあるときだけ展開するようにシェルを再設定します(zshはどちらでも設定可能、bashは中括弧の間にカンマまたは範囲があるときだけ展開、他のシェルはどちらかの方法で動作する可能性があります)。