2013-08-01 35 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