git log
git log: показати журнал (історію) комітів.
Команда git log показує історію комітів Git-репозиторію. Вона виводить список усіх комітів разом з інформацією про кожен із них: хеш коміту, автора, дату та повідомлення коміту. Ця команда дуже корисна, коли треба розібратися в історії проєкту, відстежити зміни в часі або знайти конкретний коміт, який додав нову можливість чи приніс помилку.
За замовчуванням git log виводить коміти у зворотному хронологічному порядку: найсвіжіший коміт іде першим. Кожен коміт має унікальний хеш — рядок із 40 символів, який однозначно ідентифікує цей коміт. Повідомлення коміту дає короткий опис зроблених у ньому змін і допомагає зрозуміти призначення кожного коміту.
В git log є багато опцій для налаштування виводу: можна фільтрувати за автором чи діапазоном дат, показувати лише певні гілки або виводити зміни, які приніс кожен коміт. Якщо навчитися впевнено користуватися git log, орієнтуватися в історії Git-репозиторію стане значно простіше.
Деякі команди Git, зокрема git log, можуть перемкнути термінал у режим pager, створений для перегляду довгих списків. У цьому режимі вивід можна гортати клавішами зі стрілками і (або PageUp і PageDown, щоб гортати швидше). Щоб вийти з режиму pager, натисни q.
Приклади
Показати історію комітів у стандартному вигляді:
git logcommit c9dfc6eeeeb49a9661f39f80c587e9cc10a12c70 (HEAD -> main)
Merge: c369baa 2a0c1b5
Author: Elon Tusk <elon@dix.com>
Date: 2025-11-12
Merge branch 'feature/cart' into main
commit c369baab2bd17ec1023a7af5f967b0fac8372d17
Author: Elon Tusk <elon@dix.com>
Date: 2025-11-12
Update main branch
commit 2a0c1b53f2ce8176a93000e33226bb637f31d864 (feature/cart)
Author: Elon Tusk <elon@dix.com>
Date: 2025-11-12
Add cart total calculation
commit 39c461a87ac0d283dd892b7abe74fa61175f71a8
Author: Elon Tusk <elon@dix.com>
Date: 2025-11-12
Add cart model
commit 8ca0133bc67908e5ac49d452aaa8e00a52d18590
Author: Elon Tusk <elon@dix.com>
Date: 2025-11-12
Initial commitПоказати історію комітів зі скороченими хешами та у спрощеному форматі:
git log --onelinec9dfc6e (HEAD -> main) Merge branch 'feature/cart' into main
c369baa Update main branch
2a0c1b5 (feature/cart) Add cart total calculation
39c461a Add cart model
8ca0133 Initial commitПоказати історію з графічним відображенням структури гілок:
git log --oneline --graph* c9dfc6e (HEAD -> main) Merge branch 'feature/cart' into main
|\
* | c369baa Update main branch
| * 2a0c1b5 (feature/cart) Add cart total calculation
| * 39c461a Add cart model
|/
* 8ca0133 Initial commitПоказати історію комітів у власному форматі: скорочений хеш коміту, дата автора, тема коміту та інформація про гілки. Для налаштування виводу є ціла купа плейсхолдерів — повний список можна знайти в документації Git, якщо колись знадобиться.
git log --pretty=format:"%h %ad | %s%d [%an]"Те саме, але з сучаснішим коротким синтаксисом:
git log --format="%h %ad | %s%d [%an]"c9dfc6e 2025-11-12 | Merge branch 'feature/cart' into main (HEAD -> main) [Elon Tusk]
c369baa 2025-11-12 | Update main branch [Elon Tusk]
2a0c1b5 2025-11-12 | Add cart total calculation (feature/cart) [Elon Tusk]
39c461a 2025-11-12 | Add cart model [Elon Tusk]
8ca0133 2025-11-12 | Initial commit [Elon Tusk]Показати історію комітів для конкретного файла:
Зверни увагу: спеціальна опція -- каже Git, що всі наступні аргументи — це шляхи до файлів. Це потрібно, щоб уникнути неоднозначності, коли шлях до файла можна сплутати з назвою гілки чи коміту.
git log -- path/to/file.txtПоказати коміти за певний діапазон дат:
git log --since="2023-01-01" --until="2023-01-31"Показати історію комітів конкретної гілки:
git log new-blog-design-branchПоказати історію комітів між двома комітами:
git log 9ds73k2..5ka4j3d.gitignoregit checkoutgit configgit taggit worktree