参考链接
* detached head是一种HEAD指针指向了某一个具体的 commit id,而不是分支的情况。在这个状态下进行的commit不会对你的远程分支产生影响
出现的原因
- 从远程库clone下来一个远程的repository
- clone下来之后,git自动在本地建立了一个本地分支master,并自动与远程库master关联
- 现在在操作checkout其他分支名(a)
- 因为本地的工作区目前是刚刚clone的master分支的代码并且与远程关联,但是本机上没有本地分支与远程分支a关联,所以checkout一下就会出现detached head的状态(直接指向了commit id,因为git是离线版本控制,因为此checkout是远程的不是本地的,所以git只能给你一个commit id让你进行操作)
解决办法
- checkout 的时候如果本地没有与之关联,则在命令加上参数在本地新建分支并与之对应即可
- git checkout -b new_branch_name