Skip to main content

Що таке HEAD у Git?

HEAD у Git - це вказівник на поточне місце в історії комітів, тобто на той коміт, з яким ти зараз працюєш.

Простіше: HEAD показує, "де ти зараз перебуваєш" у репозиторії.


На що саме вказує HEAD

У звичайній ситуації:

  • HEAD вказує на поточну гілку
  • гілка вказує на останній коміт
  • отже, HEAD опосередковано вказує на останній коміт цієї гілки

Ланцюжок виглядає так:

HEAD → main → останній коміт

Як це зрозуміти на прикладі

Якщо ти перебуваєш у гілці main і робиш новий коміт:

  • коміт додається у кінець гілки
  • гілка main зсувається вперед
  • HEAD залишається на гілці main

Detached HEAD (відокремлений HEAD)

Іноді HEAD може вказувати не на гілку, а безпосередньо на коміт. Це називається detached HEAD.

Наприклад:

bash
git checkout a1b2c3d

У цьому випадку:

HEAD → коміт a1b2c3d

Важливо для співбесіди:

  • коміти в detached HEAD не належать гілці
  • якщо не створити гілку, їх легко втратити

Навіщо взагалі потрібен HEAD

HEAD потрібен, щоб Git розумів:

  • з якого стану брати файли
  • куди додавати нові коміти
  • яку версію проекту показати в робочій директорії

Як побачити HEAD

bash
git status

Покаже поточну гілку (отже, туди вказує HEAD).

bash
git log --oneline --decorate

Покаже, де перебуває HEAD і гілки в історії.


Часта помилка кандидатів

Неправильно: «HEAD - це останній коміт» Правильно: HEAD - це вказівник, який зазвичай вказує на останній коміт поточної гілки, але не завжди.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.