Git HEAD detached from XXX (git HEAD 游离) 解决办法
Posted endian11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git HEAD detached from XXX (git HEAD 游离) 解决办法相关的知识,希望对你有一定的参考价值。
- 什么是Head
- git中的head可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD查看当前的head指向哪儿,一般它指向当前工作目录所在分支的最新提交
- git中的head可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD查看当前的head指向哪儿,一般它指向当前工作目录所在分支的最新提交
- Head游离状态的利与弊
-
HEAD 处于游离状态时,我们可以很方便地在历史版本之间互相切换,比如需要回到某次提交,直接 checkout 对应的 commit id 或者 tag 名即可。
它的弊端就是:在这个基础上的提交会新开一个匿名分支!
- 也就是说我们的提交是无法可见保存的,一旦切到别的分支,游离状态以后的提交就不可追溯了。
- 解决办法就是新建一个分支保存游离状态后的提交:
-
- 具体解决操作
- git branch -v 查看当前领先多少
-
-
b2629f0指向的是master最后一次提交
-
- git branch -v 查看当前领先多少
-
- 新建一个 temp 分支,把当前提交的代码放到整个分支
-
checkout
出要回到的那个分支,这里是 master
-
- 然后
merge
刚才创建的临时分支,把那些代码拿回来
- 然后
-
git status
查看下合并结果,有冲突就解决
- 合并 OK 后就提交到远端
- 删除刚才创建的临时分支
-
- 查看 Log,当前 HEAD 指向本地 master ,和远端 master 一致,OK 了
- 查看 Log,当前 HEAD 指向本地 master ,和远端 master 一致,OK 了
以上是关于Git HEAD detached from XXX (git HEAD 游离) 解决办法的主要内容,如果未能解决你的问题,请参考以下文章
HEAD detached from refs/heads/master
git checkout之一 HEAD基本和detached 状态
git branch detached from jb4.2.2_1.0.0-ga
Git 第七章 IDEA集成Git -- IDEA集成Git(初始化本地库 & 添加到暂存区 & 提交代码到本地仓库 & 切换版本(Detached HEAD doesn‘t