2013-08-01 77 views
9

我已經看了很多帖子(一個有用的一個位置:Fix a Git detached head? & Why did my Git repo enter a detached HEAD state?)。的Git分離的頭問題

今天,我一直在抓我的頭。即使在閱讀這些文章後,我也無法理解如何解決這個問題。

昨天是一切OK,我記得有一個給結賬命令。在晚上,我發現Git即使出現局部變化也沒有顯示出任何變化。經過今天的研究,我現在可以看到git狀態顯示「HEAD從99f040f分離」。

從那時起,我在我的d刪除git的文件夾(在我的Windows 7),並恢復了7月27日的備份git的。仍然沒有解決。我也試過7月25日的版本。但沒有運氣。所以我現在已經恢復了昨天的.git版本。

我粘貼從gitk截圖。有什麼我可以做的,以糾正這個問題? enter image description here

+1

'git的結帳-b temp'備份你有什麼,現在,'混帳branch'看到分支是在您的回購,然後'git checkout '到達您想要的分支。 – Ajedi32

+0

[Git:我可以如何協調分離的HEAD與主/來源?](http://stackoverflow.com/questions/5772192/git-how-can-i-reconcile-detached-head-with-master-來源) – kan

回答

11

要返回到最後簽出的分支,只需鍵入

git checkout - 

似乎有點欠記錄(搜索在git checkout的文檔You may also specify),但對我的作品。
也可以被用來作爲方便快捷的兩個分支之間切換:

git checkout master 
git checkout branchwithaverylongnamethatyoudontwanttotypeagain 
git checkout - # brings back master 
git checkout - # brings back branchwithaverylongnamethatyoudontwanttotypeagain 
+0

在''選項說明:您也可以指定 - 與「@ { - 1}」同義。 – rodrigo

+0

@rodrigo:謝謝你的提示。更新的答案。 – eckes

+0

注意,對於你不想再次鍵入很長的名字分支機構,Git的支持分支名稱選項卡完成。 – Ajedi32