2017-06-07 229 views
0

我在本地存儲庫中進行了更改。推之前,我從遠程獲取,並重新啓動顯示一些衝突,我修好了。撤消Git rebase --abort

然後我試圖推動我的更改,然後提交它顯示still need merge所以我沒有提交我的更改rebase --abort。 之後,我的本地更改消失了。 我試過git reflog我沒有找到我的,因爲我沒有commit

我需要我的本地更改如何恢復它? rebase --abort如何刪除我的更改?

我做了rebase --continue一旦我修復衝突。因爲它說需要更新。那麼只有我給出rebase --abort

+0

你是否在每次合併衝突後執行'git rebase --continue'?如果是這樣,那麼你的工作目錄應該是空的,'git rebase --abort'應該沒有任何作用。我的猜測是你沒有正確完成rebase。您的本地更改可能會丟失。 –

+0

是的,我仍然顯示需要合併....多數民衆贊成爲什麼給rebase - 比特 –

+1

當你中止rebase,你回到你之前發生rebase的狀態。沒有解決方法。只要再做一次rebase,這次不會犯同樣的錯誤。 –

回答

1

從你的問題以及你上面的評論看來,你開始了一個rebase,在這個過程中取得了一些進展,但沒有完成。相反,您輸入git rebase --abort。這有效地將整個rebase恢復到您開始rebase之前的位置。除去已經解決合併衝突的任何工作,中止重新分配沒有任何壞處。

無論如何,您應該可以再次啓動rebase origin/<branch>。這一次,只需通過將每個衝突文件添加到舞臺上並使用git rebase --continue來解決衝突,因爲每次提交都已應用。當所有提交都被重播時,你的重新分支應該準備好,並且有一個空的工作目錄。