git的头、主、源概念是什么?

git的头、主、源概念是什么?,git,Git,在我学习git的过程中,我不断接触到HEAD、master、origin等术语,我不确定它们之间的区别是什么。如果我理解正确,HEAD始终等于最新版本?如果是,那是整个存储库的最新版本,还是特定分支或标记的最新版本?这太令人困惑了。我已经阅读了很多关于这方面的教程以及分支/合并之类的内容,但我仍然无法理解。我强烈推荐这本书。花点时间认真阅读它,同时像你一样探索实际的git回购 HEAD:回购协议的当前提交日期。大多数情况下,HEAD指向当前分支中的最新提交,但情况并非如此标题实际上只是指“我的回

在我学习git的过程中,我不断接触到HEAD、master、origin等术语,我不确定它们之间的区别是什么。如果我理解正确,HEAD始终等于最新版本?如果是,那是整个存储库的最新版本,还是特定分支或标记的最新版本?这太令人困惑了。我已经阅读了很多关于这方面的教程以及分支/合并之类的内容,但我仍然无法理解。

我强烈推荐这本书。花点时间认真阅读它,同时像你一样探索实际的git回购

HEAD:回购协议的当前提交日期。大多数情况下,
HEAD
指向当前分支中的最新提交,但情况并非如此<代码>标题实际上只是指“我的回购协议目前指向的是什么”

如果提交
头所指的不是任何分支的顶端,则称为“分离头”

master:git在首次创建回购协议时为您创建的默认分支的名称。在大多数情况下,“主”意味着“主分支”。大多数商店都有人向master推销,master被认为是回购协议的最终观点。但是,发布分支由master组成以进行发布也是很常见的。本地回购有自己的主分支,几乎总是跟随远程回购的主分支

origin:git为主要远程回购提供的默认名称。你的箱子有自己的回购协议,你最有可能推出你和你所有同事推动的远程回购协议。这种远程回购几乎总是被称为原始回购,但它不一定是原始回购


HEAD
是git中的官方概念<代码>标题
始终具有明确的含义
master
origin
是git中常用的名称,但它们不一定是。HEAD不是最新版本,而是当前版本。通常,它是当前分支的最新版本,但不一定是

master
是一个常用于主分支的名称,但它可以被称为任何其他名称(或者没有主分支)


origin
是主遥控器的常用名称。remote是另一个您可以从中提取和推送到的存储库。通常它在一些服务器上,比如github。

虽然这并不能直接回答问题,但有一本很棒的书可以免费提供,它可以帮助您学习名为
. 如果您更喜欢枯木版而不是一系列的钻头,您可以从中购买。

您能举一个例子说明HEAD是最新的,但不是最新的吗?我以前从未见过这种情况。或者你的意思是它可能不是最新的,因为你的分支位于它跟踪的远程分支的后面?@MattGreer:如果你签出了一些旧的东西(比如像
git checkout v1.1
),那么你的头会变为该标记的提交。它可能不是最新的提交。您所说的“HEAD”实际上是指“我的repo当前指向的是什么”。“如果存储库中有多个分支,根据您的说法,哪个分支是HEAD?”?如果有3个分支(与master一起),并且在branchA中进行了需要提交,则头部仍然可以在“master”的提交中。那么,回购协议现在指向的是哪一种修订?不清楚回购协议(本地或远程)是什么意思。一般来说,你的答案都是用表达,没有解释。@JingHe你读了整本书吗?真的值得吗?我的意思是,我们正在谈论一个500多页的阅读,这对我来说似乎有点太多了…为了验证我是否理解逻辑,我可以在远程调用一个分支作为featureA,当我推到该分支时,我键入“git push origin featureA”。我也可以通过说“git pull origin”从远程拉取相同的内容,进行更改。而head只是指本地副本@OK999我相信HEAD指的是你目前在当地的哪个分支机构。如果提交是在branchA中进行的,但当前您在branchB上,则头部指向branchB。在你做一个特别的承诺之前,你必须把头移到布兰卡后面。@ShawnFumo谢谢你的建议。我可能会读进去。我希望在没有读过之前的9章的情况下,它是可以理解的。这个问题不需要一本书!对于我来说,我还不清楚为什么我需要一本书来Git,当我不需要C++的时候。你只认为你不需要一本C++书。代码>“这太让人困惑了……但我还是无法理解。”我知道你在那里做了什么…