git遇到的问题 —— HEAD 游离的问题

2018-04-08  本文已影响120人  Lovell_

问题:

HEAD游离了,在一个不知名的分支上,查看分支如下:

HEAD detached from origin/master

分析:

HEAD detached from origin/master:HEAD从master分支游离出来了。

这个时候 add . 、commit 、push 之类的是没用的。

解决方案

正确参考操作1:

  1. git checkout -b temp :基于当前分支创建一个新的临时分支保留代码;
  2. git branch : 查看分支,有temp这个明确的分支
  3. git checkout master : 切换到主分支
  4. git merge temp : 在主分支中把temp分支合并过来。
  5. git 常规提交。。。(add . 、 commit 、push origin master)
  6. git branch -d temp:删除temp分支

正确参考操作2:

如果 git checkout master 切换到了master分支,这时候,分支消失了,你做的东西也消失了。。。不要绝望,如下操作即可:(先保留住代码,在合并到master分支)

  1. git reflog :查看操作过的分支哈希码,比如:55e9304 HEAD@{1}: commit: modified something,这个是想要的
  2. git branch -vv:查看分支对应的commit注释
  3. git checkout temp 55e9304 :创建 temp 分支 指向 55e9304,并切换到temp分支,这样保留住了代码。
  4. git checkout master : 切换到主分支
  5. git merge temp : 在主分支中把temp分支合并过来。
  6. git 常规提交。。。(add . 、 commit 、push origin master)
  7. git branch -d temp:删除temp分支

参考文章:

Git——detached HEAD
git问题记录--如何从从detached HEAD状态解救出来
Git操作基本命令

上一篇下一篇

猜你喜欢

热点阅读