git遇到的问题 —— HEAD 游离的问题
2018-04-08 本文已影响120人
Lovell_
问题:
HEAD游离了,在一个不知名的分支上,查看分支如下:
HEAD detached from origin/master分析:
HEAD detached from origin/master:HEAD从master分支游离出来了。
这个时候 add . 、commit 、push 之类的是没用的。
解决方案
正确参考操作1:
- git checkout -b temp :基于当前分支创建一个新的临时分支保留代码;
- git branch : 查看分支,有temp这个明确的分支
- git checkout master : 切换到主分支
- git merge temp : 在主分支中把temp分支合并过来。
- git 常规提交。。。(add . 、 commit 、push origin master)
- git branch -d temp:删除temp分支
正确参考操作2:
如果 git checkout master 切换到了master分支,这时候,分支消失了,你做的东西也消失了。。。不要绝望,如下操作即可:(先保留住代码,在合并到master分支)
- git reflog :查看操作过的分支哈希码,比如:
55e9304 HEAD@{1}: commit: modified something,这个是想要的
- git branch -vv:查看分支对应的commit注释
- git checkout temp 55e9304 :创建 temp 分支 指向 55e9304,并切换到temp分支,这样保留住了代码。
- git checkout master : 切换到主分支
- git merge temp : 在主分支中把temp分支合并过来。
- git 常规提交。。。(add . 、 commit 、push origin master)
- git branch -d temp:删除temp分支
参考文章:
Git——detached HEAD
git问题记录--如何从从detached HEAD状态解救出来
Git操作基本命令