在学习git的过程中,我不断遇到HEAD、master、origin这些术语,我不确定它们之间有什么区别。如果我理解正确的话,HEAD总是等于最新的版本?如果是的话,这是整个存储库的最新版本,还是特定分支或标记的最新版本?这太让人困惑了。我已经阅读了许多关于这方面的教程以及分支/合并等内容,但仍然无法理解它。
我强烈推荐Scott Chacon的《Pro Git》这本书。花点时间认真阅读它,同时探索实际的git回购。
当前的提交你的回购是在。大多数情况下,HEAD指向当前分支中的最新提交,但情况不一定如此。HEAD实际上只是表示“我的回购当前指向的是什么”。
如果提交HEAD指向的不是任何分支的顶端,这被称为“分离头”。
Master: git在第一次创建repo时为你创建的默认分支的名称。在大多数情况下,“master”指的是“主要分支”。大多数商店都让每个人都向主人推销,主人被认为是回购的最终观点。但是对于发布分支来说,脱离master来发布也是很常见的。本地回购有自己的主分支,它几乎总是跟随远程回购的主分支。
Origin: git给你的主远程repo的默认名称。你的盒子有自己的回购,你很可能会推出一些远程回购,你和你所有的同事都推到那里。这个远程回购几乎总是被称为原点,但它并不一定要这样。
HEAD是git中的官方概念。HEAD总是有一个明确定义的含义。Master和origin是git中常用的名称,但它们不一定是。
HEAD不是最新的版本,而是当前的版本。通常,它是当前分支的最新版本,但也不一定非得如此。
Master是通常用于主分支的名称,但也可以称为其他任何名称(也可以没有主分支)。
原点通常是主遥控器的名称。Remote是另一个可以从中提取和推送的存储库。通常是在某个服务器上,比如github。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别