HEAD,master,origin的git概念是什么?

当我正在学习git时,我总是碰到HEAD,master,origin的术语,我不确定它们之间有什么不同。 如果我理解正确,HEAD总是等于最新版本? (如果是这样,是整个存储库,或特定的分支或标记的最新版本?)这是如此令人困惑,我读了这么多的教程和分支/合并,但仍然无法包装我的头在附近。

我强烈推荐Scott Chacon编写的“Pro Git”一书。 花点时间,真正阅读它,同时探索一个实际的git回购。

HEAD :当前提交您的回购。 大部分时间HEAD指向你的分支最新的提交,但不一定是这种情况。 HEAD真的只是意味着“我的回购目前指向什么”。 感谢svick在这一个头上(没有双关语意)

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

master :首次创build回购时,git为您创build的默认分支的名称。 在大多数情况下,“主”是指“主分支”。 大多数商店都有人推动掌握,掌握被认为是回购的权威观点。 但是释放分支也是很常见的。 你的本地回购有自己的主分支,几乎总是跟随远程回购的主人。

origin :git给你主远程仓库的默认名称。 你的盒子有自己的回购,你很可能推出一些你和你的同事推动的远程回购。 这个远程回购几乎总是被称为起源,但它不一定是。

HEAD是git中的官方概念, HEAD总是有一个明确的含义。 masterorigin是通常在git中使用的常用名字,但它们不一定是。

HEAD不是最新版本,而是目前的版本。 通常,这是当前分支的最新版本,但不一定是。

master是一个通常给主分支的名字,但是它可以被称为其他任何东西(或者可能没有主分支)。

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

虽然这并不能直接回答这个问题,但是有很棒的书可以免费使用,这将帮助您学习称为ProGit的基础知识。 如果你更喜欢死木版本的收集,你可以从亚马逊购买。