2010-10-18 77 views
6

我運行了git pull --rebase,並在使用git rebase --abort修復了多個合併衝突之後終止了此操作。Git:失敗重新啓動後恢復分散存儲庫

嘗試重組之前,git status告訴我:「您的分支在20次提交之前超過'origin/master'。」 現在我得到:「你的分支和'起源/主'分開了,分別有15個和5個不同的提交。」

我已經完成了對最新提交(git reset --hard c15...e30)的重置,但狀態消息仍然相同。

如何將我的存儲庫恢復到狀態是在我開始混亂之前?現在的狀態和以前的狀態有什麼區別?

謝謝。

+1

什麼git狀態報告作爲您當前的分支(輸出的第一行)?另外,作爲參考,對於origin/master,yourbranch和你現在的位置(「git log」的頂部)有什麼相關的提交哈希?使用gitk - 如果您需要gitk,可以給您提供更好的照片。 – 2010-10-19 14:58:02

回答

1

git rebase --abort應該帶你回到原來的HEAD。我不確定你的意思是「用...中止修復幾個合併衝突」。你的意思是--continue

無論如何,現在要做的事情是諮詢reflog。 reflog是所有引用已經存在的本地時間日誌。如果你看看.git/logs/HEAD你可以看到HEAD(工作集)已經在哪裏。在.git/logs/refs/...下,您可以看到您的所有分支(本地和遠程)都在哪裏。日誌中的每一行都反映了一些操作。起始SHA,結尾,用戶,時間和描述什麼操作導致更改的字符串。你可以找到你想要的和reset回它。