私は自分のスタッシュに関する情報を取得しようとしていますが、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
曖昧だと考えられるのでしょうか?
ベストアンサー1
シェルが中括弧を消費しているため、 と入力してもstash@{1}
git は と認識しstash@1
、意味をなさなくなります。引数を引用符で囲む (git stash apply "stash@{1}"
またはgit stash apply stash@"{1}"
; を使用します。どちらの引用符でも機能します) か、シェルを再設定して、中括弧の間にコンマがある場合にのみ中括弧を展開します (zsh はどちらの方法でも構成できますが、bash は中括弧の間にコンマまたは範囲がある場合にのみ中括弧を展開しますが、他のシェルは異なる動作をする場合があります)。