GIT 结账标签问题 - 分离的 HEAD 状态

GIT checkout tag issues - detached HEAD state

这个项目的目的是调用不在标准 UNIX 路径中的代码。

我的教授提供了从 GIT 存储库克隆 gawk 然后以 autoconf 格式构建和安装的步骤。

我的问题是 - 从 git://git.savannah.gnu.org/gawk.git 克隆后,我需要更改我要安装的版本。当我使用教授提供给我们的 git checkout tags/gawk-3.1.8 命令时,我收到以下输出。 当我使用 make 和 make install 命令时,我得到的是最新版本的 gawk 而不是 3.1.8。

Note: checking out 'tags/gawk-3.1.8'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by perfoming another checkout.
If you want to create a new branch to retain commits you create, you may do
so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at 00ef042... Move to 3.1.8

我搜索了几个独立的 HEAD 状态论坛,但未能找到解决方案。感谢任何帮助。

这不是错误,一切都按预期进行。注意输出是如何显示 Note: 而不是 Error: 之类的。

该注释只是告诉您处于 "detached HEAD" 状态,如果您只是使用存储库并且不打算推送任何提交,这很好。

您的分离 HEAD 状态不一定是您需要解决的 "problem"。我知道打印出来的警告可能会让你警觉,但这只是 Git 试图防止你犯错。

分离的 HEAD 仅意味着您的 HEAD 引用未指向提交以外的任何其他引用。

换句话说:您不在分支机构。这不是一个需要解决的问题,您应该能够像您所做的那样检出该版本并根据您教授提供的说明构建项目。

在此处阅读更多内容:https://git-scm.com/docs/git-checkout#_detached_head