2012-08-09 208 views
8

好吧,我剛剛犯了一個巨大的錯誤。git分支(沒有分支)

我正在一個項目上工作,並認爲我在主分支工作。
所以我加了我所需要的文件,COMMITED他們,當我試圖推到原點,我得到

Everything is up to date 

我用git branch並得到

* (no branch) 
* master 

所以,在壓力,我藏待定更改(不分支)並檢出主。 現在我失去了所有的變化,因爲我無法簽出「不應該命名的」分支。當我列出我只有

* master 

回答

12

你還沒有失去了如果他們承諾的變化。你只是沒有對它們的命名引用。

嘗試運行git reflog並在靠近頂部的位置尋找一條類似於checkout: moving from <commit-id> to master的行。然後,您可以使用該<commit-id>創建一個臨時分支檢查你的變化,並把他們移交給master分支:

git checkout -b temp-branch <commit-id> 

您可以合併這個分支,或者只是櫻桃採摘必要的提交。

我希望這會有所幫助。

+0

你是一個拯救生命的人。非常感謝:) – 2012-08-09 11:20:47

+2

'git reflog'是一個救生員:) – mamapitufo 2012-08-09 11:41:57