Где "HEAD" определен как недопустимое имя ветви? - PullRequest
3 голосов
/ 19 июня 2019

Я смотрю на git docs, но нигде не говорится, что "HEAD" - недопустимое имя ветви.Тем не менее, попытка создать ветку под названием «HEAD» дает мне:

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

Если это где-то задокументировано, я этого не вижу.Что касается документации, я должен быть в состоянии сделать это?Но почему я не могу?

Ответы [ 2 ]

7 голосов
/ 19 июня 2019

Имя HEAD (во всех столицах) является особенным и драгоценным в Git.Если специальный HEAD файл .git/HEAD пропадает, Git перестает верить, что репозиторий является репозиторием.

Документация git check-ref-format должна отметитьчто HEAD здесь не является допустимым именем, но не может этого сделать.(Следует отметить, что @, синоним HEAD, зарезервирован.)

Обратите внимание, что head (строчные буквы) допускается в качестве имени ветви, но если вына Windows или MacOS, не используйте его! 1 Это будет действовать странно из-за порядка разрешения, как указано в документации gitrevisions , где файловая система позволит Gitоткройте специальный файл HEAD под именем head.


Технически, это предостережение применимо к любой файловой системе без учета регистра.У вас может быть один в Linux, и вы можете создавать чувствительные к регистру файловые системы в MacOS.

2 голосов
/ 19 июня 2019

HEAD - это зарезервированное ключевое слово в git , поскольку оно используется внутри для ссылки на текущую ветвь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...