detached是分离独立的意思。
产品detached HEAD 是因为HEAD回到历史commit,然后对文件进行修改导致的,产生了一个没有名称的分支。
比如:
A(HEAD~2)
|
B(HEAD~)
|
C(HEAD)
如果使用以下的命令:
git checkout HEAD~
HEAD会回到B commit,如果此时再修改了某些文件,就会产品一个无名的分支,如果使用:
git status
系统会提示:HEAD detached at 5bf6f57
gitk显示:
解决这个问题,可以执行以下操作:
# 重命名当然的分支:
git branch new_branch
这样问题就可以解决了。
如果要删除当然新增出来的分支,可以
git checkout master
git branch -D new_branch