Próbuję uzyskać informacje o moim skrytce, ale dupek mi to mówi stash@{0}
i stash@{1}
są niejednoznaczne. git stash list
działa dobrze i .git/logs/refs/stash
wydaje się, że ma odpowiednią zawartość (nie żebym był ekspertem w zakresie wewnętrznych elementów 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
Po prostu git stash show
działa dobrze. Dlaczego więc nazwy, które git stash list
mi nadają, są uważane za niejednoznaczne?
stash
, która powodowała błąd.stash
, powodując błąd!Odpowiedzi:
Twoja muszla zjada twoje nawiasy kręcone, więc kiedy mówisz
stash@{1}
, git widzistash@1
i to nie ma dla niego sensu. Cytuj argument (użyjgit stash apply "stash@{1}"
lubgit stash apply stash@"{1}"
; cytowanie w obie strony zadziała) lub zmień konfigurację powłoki, aby rozszerzać nawiasy klamrowe tylko wtedy, gdy między nimi jest przecinek (zsh można skonfigurować w dowolny sposób, bash rozwija tylko nawiasy klamrowe przecinkiem lub zakresem między nimi, inne muszle mogą zachowywać się w ten lub inny sposób).źródło
(git stash drop stash@`{1`})
Cześć, spotkało mnie to samo. Najłatwiejszym sposobem naprawy było:
Używam powłoki git systemu Windows.
źródło
git stash apply "stash@{2}"
Jeśli masz ten błąd podczas pracy w Emacs z Magit na Windows (tak jak ja),
mam nadzieję, że to szybkie rozwiązanie pomoże ci:
Spowoduje to zacytowanie
{}
trzeciego parametru, w("stash", "cmd", "stash@{0}")
którym jest uruchamiany przezmagit-run-git
źródło
Dla użytkowników zsh:
źródło
Po prostu umieść identyfikator skrytki między prostymi cudzysłowami:
źródło