Посилання на коміти
Поки ти вносиш зміни й комітиш їх, Git веде детальну історію всіх комітів. Щоб побачити її, використовуємо команду .
Запусти команду git log, щоб побачити історію комітів.
Порада: Деякі команди Git, як-от git log, можуть перемкнути термінал у режим pager, створений для перегляду довгих списків. У цьому режимі вивід можна гортати клавішами зі стрілками і . Щоб вийти з режиму pager, натисни q.
Ти маєш побачити блоки приблизно такого вигляду. Хеш коміту, дата, ім'я та email у тебе будуть інші:
commit 346ca091076783c70623aba03fb7139d3d27134f
Author: Your Name <you@example.com>
Date: 2024-03-15
Added H1, HTML, and BODY tags to hello.htmlТут 346ca091076783c70623aba03fb7139d3d27134f — це SHA-1-хеш коміту, унікальний ідентифікатор саме цього коміту.
Багато команд Git приймають посилання на коміт як аргумент, щоб точно визначити, яка версія коду тебе цікавить. Наприклад, git diff, git show чи git revert часто потрібно запускати з ідентифікатором коміту, інакше вони не працюватимуть як слід.
Є кілька . Ось найпоширеніші:
- Повний SHA-1- (наприклад,
346ca091076783c70623aba03fb7139d3d27134f). - Скорочений SHA-1- (перші кілька символів, зазвичай перші 7, наприклад
346ca09). - Теги. Це зрозумілі людині імена (наприклад,
v1.0), які можна призначати конкретним комітам. До тегів дійдемо зовсім скоро. - Назви гілок. Це вказівники на останній коміт у гілці. Гілки (наприклад,
main,new-dashboard-feature) — паралельні лінії розробки в Git. Про гілки теж поговоримо пізніше. - . Це спеціальне посилання на коміт, який зараз розгорнутий у робочому дереві. Зазвичай воно вказує на останній коміт поточної гілки, але може вказувати й на конкретний коміт, якщо перемкнутися на нього напряму.
- Відносні посилання (наприклад,
HEAD~2означає другий коміт передHEAD, аHEAD^— коміт перед останнім).
А тепер подивімося, як дати комітам зрозумілі людині імена.
Проходь курс так, як він і задуманий: маленькими порціями, у сфокусованому лінійному порядку, поступово відкриваючи статті Gitopedia. Будь-коли можна продовжити зі справжнім Git у VS Code/Cursor/Antigravity/Windsurf.
але потрібен вхід