Потужний інструмент, якщо вміти з ним поводитися: використовуйте Git як сеньйор

Оленка Пилипчак

Розробник Якоб Беннет у своєму блозі на Medium пише, що Git — це потужний інструмент, яким приємно користуватися, якщо ви розумієте, як саме це робити. 

Він роками використовував Git у різних командах та проєктах. Хоча щодо деяких робочих процесів у Якоба непевна думка (наприклад, щодо squash), він все одно вважає цей інструмент дуже потужним та гнучким. Передаємо йому слово. 

Переглянемо Git-логи

Git-логи не дуже зручні для роботи «з коробки».

Git log є базовим

Використання git log дає вам певну інформацію. Але це надзвичайно висока роздільна здатність і зазвичай не те, що ви шукаєте.

git log

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

Є кращий спосіб.

Git-лог з більшою видимістю

Використовуючи --graph та --format, ми можемо швидко отримати підсумковий перегляд git-комітів у нашому проєкті:

git log --graph --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%an%C(reset)%C(bold yellow)%d%C(reset) %C(dim white)- %s%C(reset)' --all

А ось ці логи вже виглядають гарно! Тут є навіть щось подібне до дерева з гілками. 

Вони показують, хто над чим працював, коли були внесені зміни та як ваші зміни вписуються в загальну картину:

  • --graph додає деревоподібний графік ліворуч. Це не найстильніший графік, але він допомагає візуалізувати зміни в гілках проєкту (приклад).
  • --format дозволяє налаштувати формат ваших логів. Ви можете обрати з уже готових форматів або написати власний, як у цьому прикладі.
  • --all містить всі посилання, теги та гілки в логах (включно з віддаленими гілками). Можливо, вам це не потрібно, тому можна налаштувати, як зручніше (приклад).

Ось тут можна переглянути інформацію, як ви можете покращувати свої git-логи.

Розуміння конкретного коміту

Часто вам потрібно розуміти, що відбувається з конкретним комітом. git show може показати вам високорівневий звіт змін у коміті, але з його допомогою можна побачити зміни і у конкретних файлах.

Перегляд підсумків коміту

git show <commit> --stat

Використовуючи прапорець --stat, ви побачите підсумок коміту разом із зміненими файлами та детальною інформацією про те, як вони змінилися.

Перегляд певних змін файлів для коміту

Якщо ви хочете передивитись зміни конкретних рядків у певному файлі, використовуйте git show зі шляхом до файлу:

git show <commit> -- <filepath>

Це показує вам конкретні зміни рядка у вашому файлі. За замовчуванням ви побачите зміни рядків разом із трьома додатковими рядками на обох кінцях — щоб надати контекст того, де саме у файлі знаходяться змінені рядки.

Перегляньте документацію git-show, щоб дізнатися, як краще розуміти git commit.

Внесення змін

Ви створили гілку в проєкті, внесли деякі зміни у свою гілку, і готові знову об’єднати ці зміни в основну. Але інший розробник вніс зміни до тих самих файлів.

Якщо ви використовуєте такий сервіс, як GitHub — вас буде повідомлено, чи не виник конфлікт злиття:

Git запропонує вам розв’язати ці конфлікти злиття перед тим, як ви додасте свої зміни в main. Це дозволить зберегти ту частину роботи, яку виконали інші розробники. 

Щоб вирішити проблему, ви зазвичай обираєте один із двох шляхів: merge чи rebase.

git merge чи git rebase

Якщо у головній гілці є зміни, які ви хочете додати до своєї гілки, ви можете або об’єднати зміни, або перебазувати свою гілку з іншої точки.

merge бере зміни з однієї гілки та об’єднує їх з іншою в одному коміті злиття.

git merge origin/main your-branch

rebase коригує точку, в якій гілка фактично відгалужується (тобто переміщує гілку до нової початкової точки від базової гілки).

git rebase origin/main your-branch

Як правило, rebase використовують, коли є зміни у верхній гілці (наприклад, main), які хочуть додати у свою гілку. А merge – коли зміни у гілці, яку хочуть повернути в main.

Використовувати squash чи ні

Раніше я був прихильником цього прийому. Але після того, як прочитав статтю Дерека Остіна, змінив свою думку. Рекомендую і вам з нею ознайомитися.  

Автор: Якоб Беннет

Текст адаптувала Євгенія Козловська

Останні статті

Zoom випустить фотореалістичних аватарів, які замінять людей на нарадах

Відеосервіс Zoom перетворюється на повноцінну платформу для продуктивності та анонсує технологію цифрових двійників, які самостійно…

10.03.2026

Meta купує Moltbook: соціальну мережу для агентів та ботів

IT-гігант Meta (материнська компанія Facebook) офіційно оголосив про придбання Moltbook — вірусної соціальної мережі, яка…

10.03.2026

Китайський агент штучного інтелекту почав таємно майнити криптовалюту

Експериментальний агент штучного інтелекту ROME, якого створили дослідники, пов'язані з китайською компанією Alibaba, продемонстрував неочікувану…

10.03.2026

Заробляли на DDoS-атаках: у Польщі викрито групу школярів-хакерів, наймолодшому 12 років

Центральне бюро боротьби з кіберзлочинністю Польщі (CBZC) провело масштабну операцію, результатом якої стало викриття групи…

10.03.2026

Microsoft випустила Copilot Cowork — мультимодальний інструмент для запуску агентів

Microsoft оголосила про початок інтеграції технологій Anthropic у свої сервіси, представивши новий інструмент Copilot Cowork,…

10.03.2026

Anthropic презентує новий інструмент перевірки пул-реквестів Code Review

Компанія Anthropic оголосила про доступність у Claude Code бета-версії нового інструменту Code Review. Він розробленій…

10.03.2026