Saya mencoba mendapatkan info tentang simpanan saya, tetapi git memberi tahu saya itu stash@{0}
dan stash@{1}
tidak jelas. git stash list
berfungsi dengan baik, dan .git/logs/refs/stash
tampaknya memiliki konten yang sesuai (bukan karena saya ahli dalam git internal).
% 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
Biasa git stash show
saja berfungsi dengan baik. Jadi mengapa nama yang git stash list
memberi saya dianggap ambigu?
stash
, yang menyebabkan kesalahan.stash
, menyebabkan kesalahan!Jawaban:
Kulit Anda memakan tanda kurung keriting Anda, jadi saat Anda berkata
stash@{1}
, git melihatstash@1
dan itu tidak masuk akal. Kutip argumen (gunakangit stash apply "stash@{1}"
ataugit stash apply stash@"{1}"
; mengutip salah satu cara akan berfungsi) atau konfigurasi ulang shell Anda untuk hanya memperluas tanda kurung kurawal ketika ada koma di antara mereka (zsh dapat dikonfigurasi dengan cara apa pun, bash hanya memperluas tanda kurung kurawal dengan koma atau rentang di antara mereka, lainnya kerang mungkin berperilaku satu atau lain cara).sumber
(git stash drop stash@`{1`})
Halo, saya mengalami hal yang sama pada saya. Cara termudah untuk memperbaikinya adalah:
Saya menggunakan windows git shell.
sumber
git stash apply "stash@{2}"
Jika Anda mengalami kesalahan ini saat bekerja di Emacs dengan Magit di Windows (seperti saya),
saya harap solusi cepat ini akan membantu Anda:
Ini akan mengutip
{}
dalam parameter ke-3("stash", "cmd", "stash@{0}")
yang dijalankan olehmagit-run-git
sumber
Untuk pengguna zsh:
sumber
Cukup letakkan id simpanan di antara kutipan sederhana:
sumber