Команди Git

git log

git log: показати журнал (історію) комітів.

Команда git log показує історію комітів Git-репозиторію. Вона виводить список усіх комітів разом з інформацією про кожен із них: хеш коміту, автора, дату та повідомлення коміту. Ця команда дуже корисна, коли треба розібратися в історії проєкту, відстежити зміни в часі або знайти конкретний коміт, який додав нову можливість чи приніс помилку.

За замовчуванням git log виводить коміти у зворотному хронологічному порядку: найсвіжіший коміт іде першим. Кожен коміт має унікальний хеш — рядок із 40 символів, який однозначно ідентифікує цей коміт. Повідомлення коміту дає короткий опис зроблених у ньому змін і допомагає зрозуміти призначення кожного коміту.

В git log є багато опцій для налаштування виводу: можна фільтрувати за автором чи діапазоном дат, показувати лише певні гілки або виводити зміни, які приніс кожен коміт. Якщо навчитися впевнено користуватися git log, орієнтуватися в історії Git-репозиторію стане значно простіше.

Деякі команди Git, зокрема git log, можуть перемкнути термінал у режим pager, створений для перегляду довгих списків. У цьому режимі вивід можна гортати клавішами зі стрілками і (або PageUp і PageDown, щоб гортати швидше). Щоб вийти з режиму pager, натисни q.

Приклади

Показати історію комітів у стандартному вигляді:

git log
Результат:
commit 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 --oneline
Результат:
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 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