小编典典

为什么运行“git branch -r”时显示“origin/HEAD”?

all

当您运行时,git branch -r为什么会列出火焰origin/HEAD?例如,在 GitHub
上有一个远程仓库,例如,有两个分支:master 和 awesome-feature。如果我git clone抓住它然后进入我的新目录并列出分支,我会看到:

$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature

或者它的顺序是什么(alpha?我假装这个例子来保持无辜回购的身份秘密)。那么有什么HEAD业务呢?push他们HEAD推的时候是最后一个被指的人吗?这不总是他们push编的吗?HEAD走来走去……我为什么要在乎别人HEAD在另一台机器上指着什么?

我只是在处理远程跟踪等问题,所以这是一个挥之不去的困惑。谢谢!

编辑:我的印象是专用的远程存储库(例如 GitHub,没有人会 ssh 进入并处理该代码,但只能拉或推等)没有也不应该有
HEAD,因为基本上,没有工作副本。不是这样吗?


阅读 61

收藏
2022-08-08

共1个答案

小编典典

@robinst 是正确的。

在 git 中,您可以选择默认签出的分支(即当您克隆时)。默认情况下,origin/HEAD将指向那个。

在 GitHub 上,您可以在 GitHub 存储库的管理员设置中更改此设置。您也可以从命令行通过

git remote set-head origin trunk

或通过完全删除它

git remote set-head origin -d

例子。查看“切换分支”下拉菜单。trunk被检查,所以origin/HEAD如下trunk

2022-08-08