ich 2 Möglichkeiten denken kann.
Lösung 1: Erstellen Sie einen Zweig aus dem Stash. Diese Art vereitelt den ursprünglichen Zweck der Stash-Funktion, die es vermeiden sollte, den separaten Zweig zu erstellen.
Lösung 2: Fügen Sie alle Änderungen zu den verfolgten Dateien dem Index hinzu, bevor Sie sie sichern. Führen Sie nach dem Verstecken
git format-patch '[email protected]{0}^1'..'[email protected]{0}^2'
aus, die HEAD mit dem Index vergleicht (zu der Zeit, als der Stash erstellt wurde).
Ich bin mir nicht sicher, warum Sie nicht nur Dateien in den Index verlassen unadded und git format-patch '[email protected]{0}^1'..'[email protected]{0}'
, die wie die gleiche Sache scheint laufen. Es muss etwas Besonderes am Stash-Commit-Objekt geben. In jedem Fall werden beim Hinzufügen zum Index die Änderungen im zweiten übergeordneten Element des Stash (das Index-Commit) aufgezeichnet, wobei die Probleme mit dem Stash-Commit umgangen werden.
Misc Hinweise: git format-patch -1
wird immer leer für ein Merge-Commit (Stashes sind ein Spezialfall eines Merge-Commits). Ich bin nicht ganz sicher, warum das ist, aber siehe Git: How to create patches for a merge? für weitere Details.
Ich denke du meinst funktioniert 'Stash @ {0}' stattdessen 'git stash list' zeigt, dass als Name für mich. Wenn Sie nur stash {0} verwenden, wird ein Fehler bezüglich der nicht vorhandenen Revision zurückgegeben. Ich habe keine Antwort, warum es nicht funktioniert. – jonescb
@jonescb: Richtig, das war nur ein Tippfehler, sorry dafür. – UncleZeiv
Ich sollte wahrscheinlich erwähnen, dass ich im Moment git '1.6.6' verwenden muss. – UncleZeiv