Ich habe gerade Git aktualisiert. Ich bin auf Git Version 1.8.3.
Heute Morgen habe ich versucht, eine Änderung 1 tief im Stapel zu lösen.
Ich bin gelaufen git stash pop stash@{1}
und habe diesen Fehler bekommen.
fatal: mehrdeutiges Argument 'stash @ 1': unbekannte Revision oder Pfad nicht im Arbeitsbaum. Verwenden Sie '-', um Pfade von Revisionen wie folgt zu trennen: 'git [...] - [...]'
Ich habe mehr als 20 Variationen davon ausprobiert und verwendet, apply
anstatt pop
ohne Erfolg. Was hat sich geändert? Ist noch jemand darauf gestoßen?
git stash pop 1
: siehe meine Antwort untenAntworten:
funktioniert ab git version 2.11
Ursprüngliche Antwort, die möglicherweise dazu beiträgt, Probleme mit der älteren Syntax zu beheben, die Shell-Escapezeichen betreffen:
Wie bereits erwähnt, müssen die geschweiften Klammern je nach Betriebssystem, Shell usw. möglicherweise maskiert oder in Anführungszeichen gesetzt werden.
Unter " stash @ {1} ist mehrdeutig? " Finden Sie einige detaillierte Hinweise darauf, was möglicherweise schief geht und wie Sie es in verschiedenen Shells und Plattformen umgehen können.
Git Stash Apply Version
quelle
pop
ein bestimmter Stash erstellt werden soll, und dieser Befehl istapply
der Stash, anstatt ihn zu öffnen. Der Unterschied besteht darin, dass ein Pop sowohl den Stash auf den Code anwendet als auch den Stash selbst löscht.git stash apply n
git stash apply n
Sie müssen den Zahnspangen entkommen:
quelle
Wenn Sie sicher sein möchten, dass Sie sich nicht mit Anführungszeichen für die Syntax befassen müssen
stash@{x}
, 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. Oktober 2016)So:
quelle
Unter Windows Powershell führe ich Folgendes aus:
quelle
Wie Robert betonte, könnten Anführungszeichen den Trick für Sie tun:
quelle
Wenn keines der oben genannten Verfahren funktioniert, können Anführungszeichen um das Versteck selbst für Sie funktionieren:
quelle
Ich habe 2.22 installiert und das hat funktioniert ..
quelle
Version 2.11+ verwenden Folgendes:
n ist das Zahlenlager @ {12}
quelle
Überprüfen Sie zuerst die Liste: -
Kopieren Sie den Index, den Sie aus der Stash-Liste entfernen möchten
z.B.:
quelle