Git中的HEAD是什么?

你可以看到Git文档中的内容

该分支必须完全合并在HEAD中。

但是Git HEAD究竟是什么?


你可以将HEAD看作“当前分支”。 当你使用git checkout切换分支时,HEAD修订版会更改为指向新分支的顶端。

你可以看看HEAD指出的是:

cat .git/HEAD

在我的情况下,输出是:

$ cat .git/HEAD
ref: refs/heads/master

HEAD有可能引用与分支名称不相关的特定修订。 这种情况被称为分离HEAD。


引用其他人:

头只是对提交对象的引用。 每个头都有一个名称(分支名称或标签名称等)。 默认情况下,每个存储库中都有一个名为master的头。 存储库可以包含任意数量的头。 在任何时候,选择一个头作为“当前头”。这个头与别的头都是别名“。

注意这个区别:“头”(小写)是指存储库中任何一个指定的头; “HEAD”(大写)专指当前活动的头部。 这个区别在Git文档中经常使用。

可以在这里找到快速覆盖git内部工作原理的另一个很好的源代码(因此可以更好地理解头部/头部)。 引用(ref :)或者头或者分支可以被认为是粘在提交历史中的提交上的便签纸。 通常他们指向一系列提交的提示,但可以用git checkoutgit revert等来移动它们。


我从github开发者Scott Chacon推荐这个定义[视频参考]:

头是你现在的分支。 这是一个象征性的参考。 它是对分支的引用。 你总是拥有HEAD,但HEAD会指向其他指针之一,指向其中一个分支。 它是您下一次提交的父项。 这是什么应该是最后检查出你的工作目录......这是你的工作目录是最后一个已知的状态。

整个视频将对整个git系统给出一个公平的介绍,所以如果有时间的话,我还建议你观看一下。

链接地址: http://www.djcxy.com/p/36233.html

上一篇: What is HEAD in Git?

下一篇: Advanced Matching with New Facebook Pixel in Javascript Web App