“ HEAD”在哪里定义为无效的分支名称?

时间:2019-06-18 23:42:03

标签: git

我正在查看git docs,但没有地方说“ HEAD”是无效的分支名称。但是,尝试创建一个名为“ HEAD”的分支会给我:

fatal: 'HEAD' is not a valid branch name.

如果在任何地方都有记录,则看不到。就文档而言,我应该能够做到吗?但是我为什么不能呢?

2 个答案:

答案 0 :(得分:7)

HEAD(在所有大写字母中)的名称在Git中是特殊且珍贵的。如果特殊的HEAD文件.git/HEAD丢失了,Git会停止相信该存储库是一个存储库。

The git check-ref-format documentation 应该请注意,HEAD在这里不是有效名称,但没有这样做。 (它确实注意到@HEAD的同义词,已保留。)

请注意,可以使用head(小写) 作为分支名称-但是如果您使用的是Windows或MacOS,请不要使用它! 1 由于the gitrevisions documentation中指出的解析顺序,它的行为会很奇怪,文件系统将允许Git在HEAD名称下打开特殊的head文件。


从技术上讲,此警告适用于不区分大小写的文件系统的任何地方。您可以在Linux上安装一个,也可以在MacOS上创建区分大小写的文件系统。

答案 1 :(得分:2)

HEADreserved keyword in git,因为它在内部用于引用当前分支。