0

该项目的目的是调用不在标准 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 状态论坛,但未能找到解决方案。任何帮助表示赞赏。

4

2 回答 2

1

这不是错误,一切都按预期工作。注意输出是怎么说的Note:,而不是怎么说的Error:

该注释只是告诉您处于“分离的 HEAD”状态,如果您只是使用 repo 并且不打算推送任何提交,这很好。

于 2018-02-23T18:25:26.493 回答
0

您分离的 HEAD 状态不一定是您需要解决的“问题”。我知道打印的警告可能会提醒您,但这只是 Git 试图防止您犯错。

分离的 HEAD 只是意味着您的 HEAD 引用没有指向提交以外的任何其他引用。

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

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

于 2018-02-23T18:26:29.787 回答