Перегляд історії
Як я вже згадував, git log — твій основний інструмент для дослідження історії комітів. Запустімо цю команду ще раз і подивімося, що вона робить.
Запусти команду git log, щоб побачити історію комітів.
Підказка: деякі команди Git, як-от git log, можуть перемкнути термінал у режим pager, призначений для перегляду довгих списків. У цьому режимі вивід можна гортати стрілками і на клавіатурі. Щоб вийти з режиму pager, натисни q.
Чудово! На екрані має бути список, схожий на цей. Хеші комітів, дати, ім'я та email у тебе будуть інші:
commit 11a3f60fe6520fb6f83306d94765ac54f8964be0
Author: Your Name <you@example.com>
Date: 2024-03-15
Linked styles to hello.html
commit 7d5aa020c9b3cf2cb5a21575a33396f36e783cd4
Author: Your Name <you@example.com>
Date: 2024-03-15
Added CSS styles
commit 346ca091076783c70623aba03fb7139d3d27134f
Author: Your Name <you@example.com>
Date: 2024-03-15
Added H1, HTML, and BODY tags to hello.html
commit 571a4dd16430d5cc89cd2d509bdfbf097d3db63a
Author: Your Name <you@example.com>
Date: 2024-03-15
Initial commitПроблема стандартного виводу git log у тому, що він доволі багатослівний. Кожен коміт займає кілька рядків, і на довгій історії це швидко втомлює. На щастя, у git log є багато опцій для налаштування виводу.
Одна з найкорисніших — --oneline: вона стискає кожен коміт до одного рядка. Спробуймо.
git log --onelineЗапусти git log --oneline, щоб побачити компактнішу історію комітів.
Вивід має стати значно лаконічнішим:
11a3f60 Linked styles to hello.html
7d5aa02 Added CSS styles
346ca09 Added H1, HTML, and BODY tags to hello.html
571a4dd Initial commitЗначно краще, правда? З --oneline можна швидко пробігтися по історії й знайти потрібний коміт.
В команди git log є багато інших корисних опцій. Ось кілька прикладів. Якщо захочеш спробувати приклад з --author, заміни Your Name на ім'я, вказане в налаштуваннях Git:
git log --oneline --max-count=2git log --oneline --since="5 minutes ago"git log --oneline --until="5 minutes ago"git log --oneline --author="Your Name"git log --oneline --all
Спробуй кілька з цих варіантів git log і порівняй, як змінюється вивід.
Як бачиш, git log — потужний інструмент для фільтрування та форматування історії комітів. Опції можна комбінувати й будувати ще точніші запити.
Наприклад, спробуймо складнішу версію git log:
git log --format="%h %ad | %s%d [%an]" --date=shortЗапусти команду git log вище й спробуй розшифрувати її вивід.
Вивід має виглядати приблизно так. Знову ж таки, хеші, дати та ім'я автора в тебе будуть інші:
11a3f60 2024-03-15 | Linked styles to hello.html (HEAD -> main) [Your Name]
7d5aa02 2024-03-15 | Added CSS styles [Your Name]
346ca09 2024-03-15 | Added H1, HTML, and BODY tags to hello.html (tag: 1.0) [Your Name]
571a4dd 2024-03-15 | Initial commit [Your Name]
Ось що робить кожна частина цієї команди:
--format="..."задає формат виводу.%h— скорочений хеш коміту.%ad— дата коміту.|— просто візуальний розділювач.%s— повідомлення коміту.%d— «декорації» коміту (наприклад, вершини гілок або теги).%an— ім'я автора.--date=shortробить формат дати коротким.
Якщо помітиш, що часто користуєшся цим форматом, його можна зробити стандартним. Зробімо це для поточного репозиторію. До речі, якщо хочеш залишити цей формат для всіх своїх репозиторіїв, додай до команд нижче опцію --global.
git config format.pretty "%h %ad | %s%d [%an]"git config log.date short
Використай команди вище, щоб зробити цей формат журналу стандартним.
Примітка: це вплине тільки на поточний репозиторій. Щоб налаштувати глобально, додай опцію --global після кожного git config.
Чудово! Ми розібрали, як ефективно переглядати історію комітів через git log. Це стане в пригоді, коли проєкт розростеться і треба буде шукати конкретні коміти.
Переходимо до порівняння комітів.
Проходь курс так, як він і задуманий: маленькими порціями, у сфокусованому лінійному порядку, поступово відкриваючи статті Gitopedia. Будь-коли можна продовжити зі справжнім Git у VS Code/Cursor/Antigravity/Windsurf.
але потрібен вхід