当你运行 git branch -r
时,为什么它会列出 origin/HEAD
?例如,GitHub 上有一个远程仓库,有两个分支:master 和 awesome-feature。如果我执行 git clone
来获取它,然后进入我的新目录并列出分支,我会看到:
$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature
或者它的顺序是什么(alpha?我伪造这个例子是为了保密一个无辜的 repo 协议(protocol)的身份)。那么 HEAD
业务是什么?这是最后一个 push
的人在推送时将他们的 HEAD
指向什么吗?这不会总是他们 push
编辑的内容吗? HEAD
会四处移动……我为什么要关心某人的 HEAD
在另一台机器上指向的是什么?
我刚刚掌握了远程跟踪等方面的知识,所以这是一个挥之不去的困惑。谢谢!
编辑:我的印象是专用的远程仓库(比如 GitHub,没有人会通过 ssh 进入并处理该代码,而只是 pull 或推等)没有也不应该有 HEAD,因为有,基本上,没有工作副本。不是吗?
最佳答案
@robinst 是正确的。
在 git 中,您可以选择默认 checkout 哪个分支(即当您克隆时)。默认情况下,origin/HEAD
将指向它。
在 GitHub 上,You can change this在您的 GitHub 存储库的管理设置中。您也可以通过命令行从
git remote set-head origin trunk
或者完全删除它
git remote set-head origin -d
Example .查看“切换分支”下 pull 菜单。 trunk
被选中,所以 origin/HEAD
跟在 trunk
之后。
关于git - 为什么运行 "origin/HEAD"时显示 "git branch -r"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/354312/