在我学习git的过程中,我不断遇到HEAD、master、origin这几个术语,我不确定它们的区别是什么。如果我理解正确的话,HEAD总是等于最新版本?如果是这样,这是整个存储库的最新版本,还是特定分支或标记的最新版本?这太让人困惑了。我已经读了很多关于这方面的教程和分支/合并之类的东西,但我仍然不能理解它。
发布于 2011-11-20 03:18:15
我强烈推荐"Pro Git" by Scott Chacon这本书。花点时间真正地阅读它,同时探索一个实际的git代码库。
HEAD:当前提交您的存储库。大多数情况下,HEAD会指向当前分支中的最新提交,但事实并非如此。HEAD实际上只是指“我的repo当前指向的是什么”。
如果提交的HEAD不是任何分支的尖端,这就被称为“分离头”。
主:第一次创建repo时,git为您创建的默认分支的名称。在大多数情况下,"master“的意思是”主分支“。大多数商店都让每个人都在努力掌握,而大师被认为是回购的权威观点。但也有一些常见的情况是,发布分支由master组成,用于发布。您的本地存储库有自己的主分支,几乎总是跟随远程存储库的主分支。
git源:git给你的主远程存储库的默认名称。你的机器有它自己的repo,你很可能会推送到某个远程repo,你和你所有的同事都会推送到。这个远程repo几乎总是被称为origin,但它并不是必须的。
HEAD是git中的官方概念。HEAD总是有一个定义明确的含义。master和origin是git中常用的名称,但它们并不是必须的。
发布于 2011-11-20 03:20:44
HEAD不是最新版本,而是当前版本。通常,它是当前分支的最新版本,但不一定是。
master是通常用于主分支的名称,但它可以被称为任何其他名称(或者可能没有主分支)。
origin通常是主遥控器的名称。remote是另一个存储库,您可以从中提取和推送到其中。通常它在某个服务器上,比如github。
发布于 2011-11-20 03:34:15
虽然这不能直接回答这个问题,但有一本很好的书是免费的,可以帮助你学习ProGit的基础知识。如果你更喜欢死木版而不是一组比特,你可以从Amazon购买。
https://stackoverflow.com/questions/8196544
复制相似问题