Ich habe nur Git aktualisiert. Ich bin auf Git Version 1.8.3.
Heute morgen habe ich versucht, eine Änderung 1 tief im Stapel aufzuheben.
Ich lief git stash pop [email protected]{1}
und bekam diesen Fehler.
fatal: ambiguous argument '[email protected]': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Ich habe ungefähr 20 Variationen dazu ausprobiert und apply
anstelle von pop
ohne Erfolg verwendet. Was hat sich geändert? Noch jemandem begegnen?
Wie bereits erwähnt, müssen für die geschweiften Klammern je nach Betriebssystem, Shell usw. Flucht- oder Anführungszeichen erforderlich sein.
Siehe " stash @ {1} ist mehrdeutig? " für einige detaillierte Hinweise, was möglicherweise schief geht und wie man es in verschiedenen Shells und Plattformen umgehen kann.
git stash list
git stash apply [email protected]{n}
Sie müssen den Zahnspangen entkommen:
git stash pop [email protected]\{1\}
Auf Windows PowerShell führe ich Folgendes aus:
git stash apply "[email protected]{1}"
Wenn Sie sicherstellen möchten, dass nicht mit Anführungszeichen für die Syntax [email protected]{x}
behandelt werden muss, verwenden Sie Git 2.11 (Q4 2016).
Siehe commit a56c8f5 (24. Oktober 2016) von Aaron M. Watson (watsona4
) .
(Zusammengeführt von Junio C Hamano - gitster
- in commit 9fa1f90 , 31 Okt 2016)
stash
: Erlaubt nur Verweise auf IndexErlauben Sie nicht, explizit auf "
[email protected]{n}
" zu verweisen, sondern verweisen Sie einfach als "n
".
Die meisten Benutzer referenzieren Verweise nur über ihre Position im Versteckstapel (was ich hier als "Index" bezeichne).Die Syntax für den typischen Stash (
[email protected]{n}
) ist etwas ärgerlich und leicht zu vergessen, und manchmal schwer zu entkommen in einer Skript.Aus diesem Grund die Fähigkeit, Dinge mit dem Versteck von .__ zu erledigen. ein einfaches referenzieren des index ist wünschenswert.
So:
git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1
Wie Robert wies, könnten Anführungszeichen für Sie den Trick erfüllen:
git stash pop [email protected]"{1}"
Wenn keine der oben genannten Aufgaben funktioniert, können Anführungszeichen um den Stash selbst für Sie funktionieren:
git stash pop "[email protected]{0}"
Überprüfen Sie zuerst die Liste: -
git stash list
kopieren Sie den gewünschten Index aus der Stash-Liste
git stash pop [email protected]{index_number}
z.B.:
git stash pop [email protected]{1}