个性化阅读
专注于IT技术分析

Git head解析

本文概述

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

Git head解析

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

Git秀头

git show head用于检查Head的状态。此命令将显示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上提交。


赞(0)
未经允许不得转载:srcmini » Git head解析

评论 抢沙发

评论前必须登录!