美文网首页
git遇到的问题 —— HEAD 游离的问题

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

作者: Lovell_ | 来源:发表于2018-04-08 22:36 被阅读120次

    问题:

    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操作基本命令

    相关文章

      网友评论

          本文标题:git遇到的问题 —— HEAD 游离的问题

          本文链接:https://www.haomeiwen.com/subject/yxamhftx.html