本文概述
- Git秀头
- Git分离头
文章图片
上图显示了HEAD引用commit-1, 因为在commit-1处执行了“签出”。当你进行新的提交时, 它将转移到较新的提交。 git head命令用于查看带有不同参数的Head的状态。它将Head的状态存储在.git \ refs \ heads目录中。让我们看下面的例子:
Git秀头 git show head用于检查Head的状态。此命令将显示Head的位置。
【Git head解析】句法:
$ git show HEAD
输出:
文章图片
在上面的输出中, 你可以看到给定Head的提交ID。这意味着Head正在执行给定的提交。
现在, 检查项目的提交历史记录。你可以使用git log命令检查提交历史记录。请参见以下输出:
文章图片
从上面的输出中可以看到, 最新提交和Head的提交ID是相同的。因此, 很明显, 最后一次提交具有Head。
我们还可以通过提交ID检查Head的状态。从上面的输出中复制提交ID, 并使用git show命令将其粘贴。如果提交ID是最后一次提交的ID, 则其结果与git show head命令相同。请参见以下输出:
文章图片
上面的输出与git show输出相同。
HEAD能够引用与分支名称不相关的特定版本。这种情况称为分离的HEAD。
Git分离头 GitHub会跟踪一段时间内的所有提交或快照。如果你在终端中选中“ git log”, 则可以显示所有先前的提交, 直到第一次提交为止。分离式HEAD模式可让你发现存储库的旧状态。这是Git中的自然状态。
当Head不指向最新提交时, 这种状态称为分离Head。如果你使用较旧的提交进行结帐, 则它将处于脱离状态。请参见以下示例:
文章图片
我已经复制了较早的提交ID。现在, 我将使用此ID签出。
文章图片
在给定的示例中你可以看到, Head没有指向最近的提交。这称为分离头状态。始终建议不要在分离的Head上提交。
推荐阅读
- Git ignore用法详解
- Git fork用法详解
- Git环境设置
- Git diff命令使用
- Git提交
- Git命令行
- 去克隆
- Git Cherry-picking用法
- Git checkout用法详解