当您运行git branch -r
时,为什么blazes会列出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
在另一台机器上指向了什么?
我刚刚掌握了远程跟踪之类的东西,所以这是一个挥之不去的困惑。谢谢!
编辑:我的印象是,专用的远程repos (比如GitHub,没有人会通过ssh进入并处理该代码,而只是拉入或推送,等等)没有也不应该有头,因为基本上没有工作副本。不是吗?
发布于 2010-05-21 23:08:06
裸存储库可以有头的原因是因为它决定了在存储库的克隆之后最初签出哪个分支。
通常,HEAD指向master,这是当人们克隆存储库时签出的分支。将其设置为另一个分支(通过编辑裸存储库中的HEAD )会导致该分支在克隆上被签出。
发布于 2012-05-08 06:53:42
如果"origin“是远程存储库,则origin/HEAD标识该远程存储库上的默认分支。
示例:
$ git remote show
origin
$ git remote show origin
* remote origin
Fetch URL: git@github.com:walkerh/pipe-o-matic.git
Push URL: git@github.com:walkerh/pipe-o-matic.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
注意写着"HEAD branch: master“的那一行。这是远程存储库让客户知道缺省情况下结帐哪个分支的地方。
发布于 2008-12-09 23:30:35
我的猜测是,有人推了一个树枝,并将其命名为HEAD:
git push origin HEAD
https://stackoverflow.com/questions/354312
复制相似问题