Git – Head

HEAD 指明了当前签出分支中的最后一次提交。它就像一个指向任何引用的指针。HEAD 可以被理解为 “当前分支“。当你用 “checkout “切换分支时,HEAD被转移到新的分支。

Git Head

上图显示HEAD引用了commit-1,因为commit-1做了一个 “checkout”。当你做一个新的提交时,它会转移到较新的提交。git head 命令用于查看不同参数下的 Head 状态。它将 Head 的状态存储在 .git\refs\heads 目录中。让我们看看下面的例子。

Git Show Head

git show head 是用来检查 Head 的状态的。该命令将显示 Head 的位置。

语法:

$ git show HEAD

输出:

Git Head

在上面的输出中,你可以看到Head的提交ID是给定的。这意味着Head是在给定的提交上。

现在,检查项目的提交历史。你可以使用git log命令来检查提交历史。请看下面的输出。

Git Head

正如我们在上面的输出中看到的,最近的提交和Head的提交ID是一样的。所以,很明显,最后一次提交的是Head。

我们也可以通过提交ID来检查头的状态。从上面的输出中复制提交ID,然后粘贴到git show命令中。如果提交id是最后一次提交的id,其结果与git show head命令相同。请看下面的输出。

Git Head

上面的输出与git show输出相同。

HEAD能够引用一个不与分支名称相关联的特定修订版。这种情况被称为分离的HEAD.

Git Detached Head

GitHub 会记录所有提交或快照的时间。如果你在终端检查 “git log”,你可以显示到第一次提交之前的所有提交。分离的 HEAD 模式允许你发现仓库的旧状态。这是 Git 的一种自然状态。

当Head不指向最近的提交时,这种状态被称为detached Head。如果你用一个较早的提交来结账,它就会处于分离头的状态。请看下面的例子。

Git Head

我已经复制了旧的提交号。现在我将用这个ID进行检查。

Git Head

正如你在给定的例子中看到的,Head并不指向最近的提交。这被称为分离的头部状态。我们总是建议,不要在分离的Head上提交。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程