Git head解析

本文概述

  • Git秀头
  • Git分离头
HEAD指出当前结帐分支中的最后一次提交。它就像任何参考的指针。 HEAD可以理解为“当前分支”。当你使用“签出”切换分支时, HEAD将转移到新分支。
Git head解析

文章图片
上图显示了HEAD引用commit-1, 因为在commit-1处执行了“签出”。当你进行新的提交时, 它将转移到较新的提交。 git head命令用于查看带有不同参数的Head的状态。它将Head的状态存储在.git \ refs \ heads目录中。让我们看下面的例子:
Git秀头 git show head用于检查Head的状态。此命令将显示Head的位置。
【Git head解析】句法:
$ git show HEAD

输出:
Git head解析

文章图片
在上面的输出中, 你可以看到给定Head的提交ID。这意味着Head正在执行给定的提交。
现在, 检查项目的提交历史记录。你可以使用git log命令检查提交历史记录。请参见以下输出:
Git head解析

文章图片
从上面的输出中可以看到, 最新提交和Head的提交ID是相同的。因此, 很明显, 最后一次提交具有Head。
我们还可以通过提交ID检查Head的状态。从上面的输出中复制提交ID, 并使用git show命令将其粘贴。如果提交ID是最后一次提交的ID, 则其结果与git show head命令相同。请参见以下输出:
Git head解析

文章图片
上面的输出与git show输出相同。
HEAD能够引用与分支名称不相关的特定版本。这种情况称为分离的HEAD。

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

文章图片
我已经复制了较早的提交ID。现在, 我将使用此ID签出。
Git head解析

文章图片
在给定的示例中你可以看到, Head没有指向最近的提交。这称为分离头状态。始终建议不要在分离的Head上提交。

    推荐阅读