Когда я выполняю git checkout для тега Git, HEAD ссылается на ветку, в которой я создал тег. Это нормально?
Да
Всякий раз, когда вы используете git checkout
git, меняйте ГОЛОВУ вашего хранилища. HEAD
просто ссылается на коммит.
Если ваш коммит не последний в текущей ветке, вы будете в detached HEAD .
Подробнее о Detached HEAD читайте здесь:
Как переместить ГОЛОВУ назад в предыдущее место? (Отдельная голова)
Git сохраняет ваш коммит в списке, как последовательность. Это означает, что каждый коммит указывает на предыдущий коммит, сохраненный в родительском атрибуте коммита. Когда вы проверяете тег, это обычно «старый» коммит из прошлого. Это приводит к отделенной ГОЛОВЕ.
... ГОЛОВА ссылается на ветку, где я создал тег
Всякий раз, когда вы извлекаете git-теги, он не указывает на ветку, в которой был создан тег, поскольку тег может находиться в нескольких ветвях, если вы объединяете эту ветку с другими.
Git находится в отсоединенном состоянии HEAD, и вы находитесь не в какой-либо ветви, но в отсоединенном HEAD