当您运行时,git branch -r为什么会列出火焰origin/HEAD?例如,在 GitHub 上有一个远程仓库,例如,有两个分支:master 和 awesome-feature。如果我git clone抓住它然后进入我的新目录并列出分支,我会看到:
git branch -r
origin/HEAD
git clone
$ git branch -r origin/HEAD origin/master origin/awesome-feature
或者它的顺序是什么(alpha?我假装这个例子来保持无辜回购的身份秘密)。那么有什么HEAD业务呢?push他们HEAD推的时候是最后一个被指的人吗?这不总是他们push编的吗?HEAD走来走去……我为什么要在乎别人HEAD在另一台机器上指着什么?
HEAD
push
我只是在处理远程跟踪等问题,所以这是一个挥之不去的困惑。谢谢!
编辑:我的印象是专用的远程存储库(例如 GitHub,没有人会 ssh 进入并处理该代码,但只能拉或推等)没有也不应该有 HEAD,因为基本上,没有工作副本。不是这样吗?
@robinst 是正确的。
在 git 中,您可以选择默认签出的分支(即当您克隆时)。默认情况下,origin/HEAD将指向那个。
在 GitHub 上,您可以在 GitHub 存储库的管理员设置中更改此设置。您也可以从命令行通过
git remote set-head origin trunk
或通过完全删除它
git remote set-head origin -d
例子。查看“切换分支”下拉菜单。trunk被检查,所以origin/HEAD如下trunk。
trunk