2016-01-13 31 views
2

我正在通過Rspec書,並忘記在我開始工作之前分叉示例存儲庫。我擡頭看看如何解決這個問題,並按照forgot to do a fork on GitHub before starting my work中的說明操作。然而,在這個過程中,我解開了所有的環境設置,現在我收到了一些關於nokogiri的錯誤。修復被遺忘的叉子後,我如何返回到早先的提交?

我已經處理過舊版本的nokogiri,並且故障排除可以永遠佔用,所以我想回到我所在的位置。問題是「git log」只告訴我關於我分叉庫的git歷史記錄,而不是我過去幾天所做的工作。

我確定它在某處,因爲git從不會忘記任何東西,但我不知道如何找到它。幫幫我!

+0

這有助於(特別是git reflog),但它仍然不像以前那樣工作。儘管如此,至少它不是nokogiri,所以我從正在工作的提交中創建了一個新分支,並且我將查看是否擺弄數據庫修復此問題。 –

+0

不是數據庫,而是我開始的工作。一旦我評論說,我回到了以前的地方。謝謝! –

回答

1

轉到原始的倉庫並獲取它的主分支的SHA(假設這​​是你分叉的地方)。

假設這個sha是ABCDE。

在我們進行更改之前,請確保您有一個乾淨的工作目錄和索引,因此需要時提交,然後運行git status以確保一切都乾淨。

現在,讓我們重新工作,你的回購所以很明顯,當你分叉:

git branch myFork 
git checkout master 
git reset --hard ABCDE 
git checkout myFork 

現在,您可以將您myFork分支比較master看到的差異。例如,你可以這樣做:

git diff master..myFork 

當你的工作,這是一個非常不錯的主意經常犯,只要你達到一個有點穩定點。通過這種方式,您可以跟蹤小里程碑並在遇到困難時恢復。

不要擔心提交太多......你可以在將它們推送到公共存儲庫之前一起壓扁提交。

相關問題