Appearance
HEAD - Голова
Что такое HEAD? HEAD – это указатель в Git, который показывает на текущий коммит в репозитории. Это тот коммит, от которого будут проходить дальнейшие изменения или коммиты.
Работа с HEAD и ветками
- Переключение между ветками: Когда вы переключаетесь между ветками с помощью
git checkout,HEADавтоматически указывает на последний коммит выбранной ветки. - Пример изменений: Создание файла или изменение в существующем файле, после чего выполнение
git add, а затемgit commit, приведет к перемещениюHEADв соответствии с последним коммитом на мастер ветке.
Отсоединенный HEAD (Detached HEAD)
- Что происходит при отсоединении
HEAD? Если вы перейдете напрямую к определённому коммиту, а не к ветке,HEADокажется в состоянии "отсоединенный". В этом случае, он указывает непосредственно на коммит, а не на ветку. - Просмотр изменений в отсоединенном состоянии: Вы можете перейти к конкретному коммиту, чтобы изучить состояние репозитория в точке этого коммита.
HEADбудет указывать на выбранный коммит без привязки к ветке.
Внутренняя структура Git и HEAD
- Файл
.git/HEAD: Внутри скрытой папки.gitнаходится файлHEAD, содержащий сведения о текущем положенииHEAD. Используя команды типаcat .git/HEAD, можно узнать, на какой коммит или ветку в данный момент указываетHEAD. - Возвращение к ветке: Чтобы выйти из состояния
Detached HEADи вернуться к работе с ветками, достаточно выполнитьgit checkoutна имя ветки, например, вmaster. Таким образом,HEADснова будет указывать на последний коммит активной ветки.