首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么运行"git branch -r“时会显示”源/头“?

为什么运行"git branch -r“时会显示”源/头“?
EN

Stack Overflow用户
提问于 2008-12-09 21:36:29
回答 3查看 64.6K关注 0票数 177

当您运行git branch -r时,为什么blazes会列出origin/HEAD?例如,在GitHub上有一个远程存储库,有两个分支: master和awesome feature。如果我执行git clone来获取它,然后进入我的新目录并列出分支,我会看到以下内容:

代码语言:javascript
复制
$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature

或者它的任何顺序(alpha?我伪造了这个例子,以保持一个无辜的回购的身份的秘密)。那么HEAD的业务是什么呢?这是push的最后一个人在推送时HEAD指向的吗?这不是永远都是他们push教育的东西吗?HEAD的移动...为什么我要关心别人的HEAD在另一台机器上指向了什么?

我刚刚掌握了远程跟踪之类的东西,所以这是一个挥之不去的困惑。谢谢!

编辑:我的印象是,专用的远程repos (比如GitHub,没有人会通过ssh进入并处理该代码,而只是拉入或推送,等等)没有也不应该有头,因为基本上没有工作副本。不是吗?

EN

回答 3

Stack Overflow用户

发布于 2010-05-21 23:08:06

裸存储库可以有头的原因是因为它决定了在存储库的克隆之后最初签出哪个分支。

通常,HEAD指向master,这是当人们克隆存储库时签出的分支。将其设置为另一个分支(通过编辑裸存储库中的HEAD )会导致该分支在克隆上被签出。

票数 62
EN

Stack Overflow用户

发布于 2012-05-08 06:53:42

如果"origin“是远程存储库,则origin/HEAD标识该远程存储库上的默认分支。

示例:

代码语言:javascript
复制
$ 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“的那一行。这是远程存储库让客户知道缺省情况下结帐哪个分支的地方。

票数 6
EN

Stack Overflow用户

发布于 2008-12-09 23:30:35

我的猜测是,有人推了一个树枝,并将其命名为HEAD:

代码语言:javascript
复制
git push origin HEAD
票数 -14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/354312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档