分离的HEAD是否是我当前的项目文件?

时间:2016-06-15 00:44:10

标签: linux git terminal

我按照内核项目的说明操作,并被告知:

  

从URL中的存储库导出要使用的内核:

     

git://git.yoctoproject.org/linux-yocto-3.14

     

您需要切换到' v3.14.26'标签

所以我做了:

git clone git://git.yoctoproject.org/linux-yocto-3.14

项目下载后,我输入:

git checkout 'v3.14.26'

并且收到了关于我现在处于分离的HEAD 状态的信息。它还输出以下内容:

HEAD is now at 356a3e1... Linux 3.14.26

但项目中的任何内容都没有下载或更改,这似乎很奇怪;我跑了show-branch并被告知[master] Merge tag 'v3.14.24'

该项目实际上是3.14.26版本吗?虽然我认为自己了解了分离的HEAD 之后发生的事情,但我并没有真正了解它的情况。我不打算对解决方案进行任何更改,我只是按照指南使用内核的特定3.14.26版本。

1 个答案:

答案 0 :(得分:1)

保持简单,只有在指向分支(您可以提交的内容)时才会附加HEAD。当您将HEAD指向标记时,您的工作副本将基于该提交,但由于您无法提交标记,它将告诉您已分离。

要确保您所在的位置,请运行:

git log --decorate=short --oneline --branches=*

如果它将HEAD置于与v3.14.26相同的提交中,那么你很好。例如:

λ git log --decorate=short --oneline --branches=*

bdeddd5 (origin/master, origin/HEAD, master) XXX
5250588 YYY
647f007 ZZZ
d5cc025 (HEAD, tag: v3.14.26) WWW
55736b0 PPP