【问题标题】:What are their differences, remotes/origin/HEAD, origin/main, and remotes/origin/main?它们有什么区别,remote/origin/HEAD、origin/main 和 remotes/origin/main?
【发布时间】:2021-03-07 17:15:32
【问题描述】:
$ git branch -a

* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/main

它们有什么区别:

  • remotes/origin/HEAD

  • origin/main

  • remotes/origin/main

【问题讨论】:

标签: git git-branch git-remote


【解决方案1】:

remotes/origin/HEAD 是当前在originrepository 中签出的分支,这意味着如果您克隆该存储库,默认情况下将首先签出该分支。

origin/main 是一个远程分支(它是名为main 的远程分支上名为origin 的分支的本地副本)

remotes/origin/main,通常称为origin/main,是您上次执行 git 命令时名为origin 的远程 上名为main 的分支的位置。如果它们是相关的,main 会将origin/main 作为其上游。

也看这个问题:master vs. origin/master vs. remotes/origin/master

【讨论】:

  • "remotes/origin/HEAD 是当前在origin 存储库中签出的分支" 不完全正确。远程存储库几乎总是一个裸存储库,并且没有任何签出分支。 :-)
  • "origin/main 是一个远程分支" 它被称为远程-tracking 分支,它实际上根本不是一个分支——它是一个特殊的分支参考类型;它由 fetch/pull/push 移动,无法提交。
  • remotes/origin/main 和 origin/main 是同义词;一个只是较短的另一个的全名。你不需要关于它们的 2 个不同的段落。 :-)
猜你喜欢
  • 2013-09-25
  • 2011-02-10
  • 2021-04-13
  • 2017-09-12
  • 1970-01-01
  • 2023-02-02
  • 2019-07-31
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多