it-swarm.com.de

Wie kann man in 1.8.3 den stash pop-spezifischen Stash einstellen?

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?

178
Jesse Atkinson

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}

git stash gelten version

194
Bob Gilmore

Sie müssen den Zahnspangen entkommen:

git stash pop [email protected]\{1\}
137
Vasiliy

Auf Windows PowerShell führe ich Folgendes aus:

git stash apply "[email protected]{1}"
45
Robert Brooker

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 Index

Erlauben 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
42
VonC

Wie Robert wies, könnten Anführungszeichen für Sie den Trick erfüllen:

git stash pop [email protected]"{1}"
16
owenmck

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}"
11
ksooklall

Ü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}
0
Jabbi Syed