Git Head



Git Head

HEAD 指出当前结帐分支中的最后一次提交。它就像任何参考的指针。 HEAD可以理解为" 当前分支"。当您使用"签出"切换分支时,HEAD将转移到新分支。

Git Head_https://bianchenghao6.com_【Git 教程】_第1张

上图显示了HEAD引用commit-1,因为在commit-1进行了"签出"。当您进行新的提交时,它将转移到较新的提交。 git head命令用于查看带有不同参数的Head的状态。它将Head的状态存储在 .git \ refs \ heads 目录中。让我们看下面的示例:

Git Show Head

git show head 用于检查Head的状态。此命令将显示Head的位置。
语法:
$ git show HEAD

输出:

Git Head_https://bianchenghao6.com_【Git 教程】_第2张

在上面输出,您可以看到已给出Head的提交ID。这意味着Head正在执行给定的提交。
现在,检查项目的提交历史。您可以使用git log命令检查提交历史记录。参见下面的输出:

Git Head_https://bianchenghao6.com_【Git 教程】_第3张

如上面的输出所示,提交最近一次提交的ID和Head相同。因此,很明显,最后一次提交具有Head。
我们还可以通过提交ID来检查Head的状态。复制上述输出中的提交ID,并使用 git show 命令将其粘贴。如果提交ID是上次提交的ID,则其结果与 git show head 命令相同。参见以下输出:

Git Head_https://bianchenghao6.com_【Git 教程】_第4张

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

HEAD能够引用与分支名称无关的特定版本。这种情况称为分离的HEAD。

Git分离头

GitHub会跟踪一段时间内的所有提交或快照。如果在终端中选中" git log",则可以显示所有先前的提交,直到第一次提交为止。分离式HEAD模式可让您发现存储库的旧状态。
当 Head没有指向最近的提交时,这种状态称为分离的Head 。如果您使用较旧的提交进行结帐,则它将处于脱离状态。请参见以下示例:

Git Head_https://bianchenghao6.com_【Git 教程】_第5张

我已经复制了较早的提交ID。现在,我将使用此ID进行检出。

Git Head_https://bianchenghao6.com_【Git 教程】_第6张

如给定所示例如,Head不指向最近的提交。这称为分离头部状态。始终建议不要在分离的Head上提交。