Git中HEAD 处于游离状态(HEAD detached)的缘故原由

[复制链接]
发表于 2024-12-29 11:53:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
结论:如果当前没有处于一个本地的分支上,HEAD指针就会处理游离状态。
缘故原由一:HEAD直接指向了提交本身

checkout 到一个指定的提交(tag)大概一个具体的提交哈希,此时HEAD直接指向了提交本身,而不是通太过支
  1. # tag
  2. git checkout tagname
  3. # hash
  4. git checkout 1a2b3c4d
复制代码
缘故原由二:checkout 到了一个远程分支上

利用一下下令可以查看全部门支(本地和远程)
  1. git branch -a
复制代码


  • 远程分支:以 remotes/origin/ 开头的条目是远程分支的本地引用,这些分支在本地仓库是只读的,checkout 到远程分支后,工作目录会更新为远程分支当时的状态。
  • 本地分支:不以 remotes/origin/ 开头的条目是本地分支。
解决 HEAD 游离状态的方法

本地仓库创建一个同名的本地分支来跟踪远程分支,此时指针就不处于游离状态了。
  1. # 创建了一个新的本地分支,而且将其设置为跟踪对应的远程分支
  2. git checkout -b new-branch-name origin/remote-branch-name       
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表