git log без параметрів виводить довгий список комітів, у якому важко зорієнтуватися. Кілька параметрів роблять його зручним інструментом.
Компактний вигляд і граф гілок:
git log --oneline # хеш і заголовок в один рядок
git log --oneline --graph --all # граф усіх гілок
git log --oneline -10 # лише останні 10
Фільтри:
| Параметр | Що показує |
|---|---|
--author="Olena" |
коміти автора |
--since="2 weeks ago" |
за період (--until - до дати) |
--grep="invoice" |
коміти, в повідомленні яких є слово |
-- app/Models/User.php |
коміти, що змінювали файл |
--follow -- file.php |
історія файлу з урахуванням перейменувань |
main..feature |
коміти гілки feature, яких ще немає в main |
-S "calculateTax" |
коміти, що додали чи видалили цей рядок коду |
Зміни разом з історією:
git log -p -- app/Services/Billing.php # diff кожного коміту
git log --stat # які файли й скільки рядків змінено
git show - один об'єкт детально:
git show a1b2c3d # повідомлення коміту й diff
git show HEAD~2 --stat # коміт, на два раніше від поточного
git show main:config/app.php # вміст файлу в гілці main, не перемикаючись
Власний формат:
git log --pretty=format:"%h %ad %an %s" --date=short
Практичні поради:
-S(пошук «кирками», pickaxe) - найшвидший спосіб з'ясувати, коли з'явилася чи зникла функція;main..featureперед злиттям показує, що саме потрапить уmain;- часто вживані варіанти варто оформити як аліас:
git config --global alias.lg "log --oneline --graph --all".