Ich habe rebase.autoStash
auf 'true'
in meinem .gitconfig
eingestellt, was mir ermöglicht, rebase
auf einem schmutzigen Arbeitsbaum zu laufen. Wenn jedoch ein rebase
aus irgendeinem Grund abgebrochen wird, sind alle Änderungen an nachverfolgten Dateien weg (d. H. Der Autostash wird nicht erneut angewendet). Was ist der richtige Weg, den Autostash in solchen Fällen anzuwenden?Wie setze ich nach einer abgebrochenen Rebase Autostash ein?
Wie zu reproduzieren:
- Run
git config rebase.autostash true
. - Bearbeiten Sie einige verfolgte Dateien.
Führen Sie
git rebase -i HEAD^^^
. Dies druckt etwas wie:Created autostash: 75a5188 HEAD is now at f0c93f1 WIP
Abbruch der Rebase, z.B. Lassen Sie den Editor mit einem Fehlercode (
:cq
in Vim) beenden.
Kann nicht reproduzieren. Wenn ich die angegebene Sequenz ausführe, wird der Speicher erneut verwendet. Auch Git protokolliert explizit Stash SHA-1, so dass Sie den Status nach ID wiederherstellen können. git-2.6.5 – user3159253
Sieh dir http://pastebin.com/wETbyMik an. Wie du sehen kannst, hat Git den Stash nach fehlgeschlagener Rebase wiederhergestellt. Wenn nicht, kannst du immer etwas wie "git checkout 75a5188 -." Machen und deine Arbeit fortsetzen – user3159253
@ user3159253: kannst du versuchen, den Editor mit einem Fehlercode zu beenden (z. B. ': cq' in Vim)? Wahrscheinlich habe ich die Rebase abgebrochen. –