Назад

December 9, 2024

🎨 Як створити гарний вигляд історії комітів git у терміналі?

Стандартний вивід команди git log досить корисний, але його результат часто виглядає нудно й лінійно. Хотіли б ви побачити свою історію комітів у вигляді красивого графічного дерева?

Наприклад:

* 4587b83 (newFeature) Додали новий функціонал
| * 9dff0c1 (HEAD -> bugFix, origin/bugFix) Виправлено помилку оновлення токенів
| * 7853d31 Додано файл.
|/  
* 2ed7f56 (origin/master, master) Початковий коміт, додано README та .gitignore

Все це — результат git log з кількома додатковими параметрами. Щоб не вводити їх щоразу, можна створити псевдонім (alias), наприклад, lol. Звісно, ви можете обрати будь-яку іншу назву.

Додайте псевдонім до глобального конфігу Git:

git config --global alias.lol "log --graph --decorate --pretty=oneline --abbrev-commit --all"

Тепер для перегляду красивого дерева комітів просто виконайте:

git lol

Ви отримаєте подібний результат:

* 4587b83 (newFeature) Додали новий функціонал
| * 9dff0c1 (HEAD -> bugFix, origin/bugFix) Виправлено помилку оновлення токенів
| * 7853d31 Додано файл.
|/  
* 2ed7f56 (origin/master, master) Початковий коміт, додано README та .gitignore

Ось що роблять використані параметри:

  • --graph створює графічне дерево історії комітів.
  • --decorate за замовчуванням використовує формат short, який виводить короткі назви гілок і тегів замість повних посилань.
  • --pretty=oneline відображає кожен коміт в один рядок.
  • --abbrev-commit скорочує 40-символьний хеш коміту до коротшої версії.
  • --all показує всі локальні гілки. Таким чином, за допомогою одного простого псевдоніма ви перетворите ваш лог комітів з простого списку у наочне та інформативне дерево!