我的rebase.autoStash
設置爲'true'
在我的.gitconfig
,這使我可以在髒工作樹上運行rebase
。但是,如果rebase
由於某種原因而中止,則對跟蹤文件的所有更改都將消失(即不會重新應用自動存儲)。在這種情況下應用自動存儲的正確方法是什麼?如何在中止rebase之後應用autostash?
如何重現:
- 運行
git config rebase.autostash true
。 - 編輯一些跟蹤的文件。
運行
git rebase -i HEAD^^^
。這打印類似於:Created autostash: 75a5188 HEAD is now at f0c93f1 WIP
中止rebase,例如,編輯器退出並顯示錯誤代碼(Vim中的
:cq
)。
無法重現。按照指定的順序給我重新應用藏匿。此外,git顯式地記錄存儲SHA-1,所以你可以通過ID恢復狀態。 git-2.6.5 – user3159253
看看http://pastebin.com/wETbyMik如你所見,git在rebase失敗後恢復了存儲。如果不是,你總是可以做一些事情,比如'git checkout 75a5188 - .'並繼續你的工作 – user3159253
@ user3159253:你能否嘗試用錯誤代碼退出編輯器(例如Vim中的':cq')?這可能是我用來中止rebase的原因。 –