bug

push时出现问题:git status: HEAD detached from origin/master

原因:分支选错了,后续的提交都提交到了一个匿名分支之上,整个状态是游离了的

如图, 此时处于一个匿名分支, 此前在 vs code 进行commit->push时, 分支关系没有理清

迷思:什么是 HEAD

Git 中的 HEAD 可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD 查看当前 HEAD 指向哪儿,一般它指向当前工作目录所在分支的最新提交

图中head指向main

使用git checkout [argument]可以切换到某个分支, argument此时为branch的名字, 也可以切换到某次commit

  • 当使用 git checkout < branch_name> 切换分支时,HEAD 会移动到指定分支

  • 但是如果使用的是 git checkout < commit id>,即切换到指定的某一次提交,HEAD 就会处于 detached 状态(游离状态)!!!

问题的本质为切换head后没有指定到底应该继续原分支还是继续新分支

这样会导致git 在这个基础上提交新开的一个匿名分支!

  • 进入了一个新的匿名分支

我们的提交是无法可见保存的,一旦切到别的分支,游离状态以后的提交就不可追溯了,因而触发git的保护机制, 出现问题,无法切换分支

解决方法:

  1. 查看在游离状态下提交的最新commit号
git branch -v
  1. 创建一个临时的分支,用来保存此匿名分支下的内容
git branch temp

新建一个名字叫temp的分支,用这个分支会自动存有匿名分支的内容

  1. 切换到刚刚创建的temp分支, 此时发现,匿名分支消失

    git checkout temp
    

    temp 为刚刚创建的分支

    再查看分支情况

    匿名分支消失!!

若要保留此次更改, 则而后切换到main分支

  • git merge temp即可将改动merge到本地main分支
  • git branch -D temp删除临时分支

此处不再赘述.

git报错: HEAD detached from origin/master相关推荐

  1. 解决git报错[remote rejected] HEAD -> master (pre-receive hook declined) error: failed to push some...

    git push 报错 ...[remote rejected] HEAD -> master (pre-receive hook declined) error: failed to push ...

  2. git报错:‘fatal:remote origin already exists‘怎么处理?附上git常用操作以及说明。

    git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1.先删除 $ git remote rm origin 2.再次执行添加就可以了. ---------------------- ...

  3. git报错:fatal: remote origin already exists

    解决方法: git remote rm origin git remote add origin git@github.com:(github名)/(git项目名).git 参考博客:https:// ...

  4. HEAD detached from origin/master

    git 提交出现HEAD detached from origin/master问题的解决 问题:执行git status,提示: HEAD detached from origin/master 原 ...

  5. GIT 报错:Branch ‘master‘ set up to track remote branch ‘master‘ from ‘origin‘

    GIT 报错:Branch 'master' set up to track remote branch 'master' from 'origin' git上传仓库时报错 解决方法共两步 1.移除 ...

  6. Idea提交代码报错:Push rejected: Push master to origin/master was rejected by remote

    问题描述 Idea提交代码报错:Push rejected: Push master to origin/master was rejected by remote 问题分析 网上找了一些帖子,但是对 ...

  7. git报错:‘origin’does not appear to be a git repository

    git报错:'origin'does not appear to be a git repository 原因 具体解决方法 原因 是由于git找不到远端的仓库地址了,在git文件夹下,config文 ...

  8. git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists)....

    Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保 ...

  9. 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).

    Git 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 开发新业务,拉取代码时,路由文件发生冲突,解决此文件 ...

最新文章

  1. 电子计算机的发展与应用教案,川教版信息技术七上第3课《电子计算机的发展与应用》教案1.doc...
  2. [转]微软发布WF教程及大量示例
  3. atCoder Ants on a Circle(又是蚂蚁问题。。。)
  4. php 区块链算法_PoW/BFT等5种主流区块链共识算法的开源代码实现
  5. 理解 python 装饰器
  6. Python ATM实战
  7. C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
  8. WebLogic下载地址 各版本
  9. linux ftp上传命令实例,ftp上传文件命令,Linux中使用ftp命令上传文件
  10. 《东周列国志》第十一回 宋庄公贪赂构兵 郑祭足杀婿逐主
  11. Chrome 科研神器!去谷歌学术搜到文章,代码链接就能自动展示
  12. vba操作ie关闭窗口
  13. Python 基础 函数的使用——参数
  14. C++Primer 第8章IO流
  15. Python创建文件夹和子文件夹
  16. 把ipa包上传入AppStore
  17. laravel+容联.云通讯 实现手机短信验证用户注册
  18. PhpStorm 配置 Xdebug调试工具
  19. 阿里云模板建站好处(模板建站+定制建站)优惠购买指导
  20. ros操作命令与实操-话题发布

热门文章

  1. 某支付系统调用银行侧数字货币代发接口处理代发工资用例描述
  2. java printwriter 文件_PrintWriter未写入文件(Java)
  3. 有关SVG中遮罩动画跳帧的问题分析
  4. 提高工作效率,牵引力技术总监告诉你诀窍!
  5. Pushlet 2.0.3 源码分析
  6. Hadoop Kerberos 集成
  7. Java设计模式之创建型模式
  8. 我和我的摄友们(合影)
  9. JAVA毕设项目建材公司管理系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
  10. 网络地址分类(公网地址和私有地址)