2012-04-03 9 views
15

Dies scheint sehr töricht Fehler, ich habe gerade eine git stash pop auf einem schmutzig arbeiten Baum. Ich kenne keine Möglichkeit, die gewünschten Änderungen beizubehalten und die stash pop rückgängig zu machen. Gibt es einen? Oder ein solcher Fehler ist unverzeihlich?Rückgängig git Stash Pop auf schmutzig arbeiten Baum

Antwort

8

Wenn Sie SHA1 dieses Stash noch haben, können Sie daraus ein Patch generieren (git format-patch SHA1) und das Patch umgekehrt anwenden (git apply -R filename.patch).

Wenn Sie die SHA1 verloren, siehe How to recover a dropped stash in Git?

+0

Wie erstellen Sie eine Patchdatei aus dem Format-Patch-Befehl? – meson10

+0

Der angegebene Befehl erstellt einen Patch für den Commit 'SHA1'. – adl

+1

Dies scheint nicht für Zusammenführungen zu funktionieren; Als ich '' 'stash pop'' in mein dreckiges Arbeitsverzeichnis einfügte, fusionierte es die verdeckten Änderungen, so dass' git format-patch SHA1' nichts unternahm. Irgendwelche Ideen für eine Problemumgehung? – Will

1

git stash pop hat 2 Dinge: git stash apply und git stash drop. Wenn Sie die drop mit this question and answers rückgängig machen können, dann müssen Sie nur die apply rückgängig machen. Ich bin nicht sicher, wie man das macht, , aber Sie könnten in git rebase suchen. aber adl tut es.