繁体   English   中英

列出分支时,Git HEAD与主分支分离

[英]Git HEAD detached from master branch when listing branches

我认为我理解HEAD是'当前'分支,但是当列出分支时,我看到我的当前和远程HEAD对于我的一个回购而言是不同的。 另一个存储库甚至没有列出远程头部分支。 有人可以解释一下:

me@portalinux ~/edcourse $ git branch -va
* master                9de94d9 Work on week 3 stuff thursday 
  remotes/origin/HEAD   -> origin/master
  remotes/origin/master 9de94d9 Work on week 3 stuff thursday

如你所见,原点/ HEAD似乎只是指向主人。 但是在下面的回购中它没有:

me@portalinux ~/cpp $ git branch -va
* master             f30bc16 End of chapter 2
  remotes/cpp/master f30bc16 End of chapter 2

我处理存储库的唯一区别是第一个存储库是由两个不同的客户端初始化和更新的,第二个存储库只由一台计算机更新。 有兴趣看看,一旦我开始使用第二台计算机进行更新,第二个repo是否会获得指向master的远程HEAD。

你认为HEAD指向当前分支的想法非常接近,但请注意,它可能并不总是如此。 例如,在“分离头”状态下,它可能指向任意提交。

共享Git存储库通常实现为存储库 ,这意味着它们缺少工作副本。 实质上,它们仅作为.git/目录存在。 在没有工作副本的情况下,“当前分支”的概念缺乏意义,因此遥控器通常没有HEAD

有些遥控器确实HEAD ,例如非裸遥控器。 GitHub使用HEAD来识别“默认分支” ,这是一个特定于GitHub的概念。 其他供应商可能会效仿,或者将其用于完全不同的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM