Skip to main content

Що таке git merge?

git merge - це команда, яка об'єднує зміни з однієї гілки в іншу, зберігаючи історію обох гілок.

Простими словами: «Візьми все, що було зроблено в іншій гілці, і додай це до поточної».


Навіщо потрібен git merge

У Git зазвичай працюють з гілками:

  • main / master - основна гілка
  • feature/* - гілки для нових фіч
  • bugfix/* - гілки для виправлень

Ти працюєш в окремій гілці, а коли все готово - зливаєш її назад в основну. Саме для цього і потрібен git merge.


Як працює git merge

Приклад:

  1. Ти перебуваєш у гілці main
  2. Хочеш влити зміни з гілки feature-login
bash
git checkout main git merge feature-login

Результат:

  • Усі коміти з feature-login з'являються в main
  • Історія гілок зберігається

Що відбувається «під капотом»

Git:

  1. Знаходить спільний коміт-предок двох гілок
  2. Порівнює зміни
  3. Об'єднує їх
  4. Створює merge-коміт (якщо потрібно)

Види merge

1. Fast-forward merge (швидкий merge)

Якщо в main не було нових комітів, Git просто пересуває вказівник:

A---B---C (main) \ D---E (feature)

Після merge:

A---B---C---D---E (main)

Без зайвих комітів Чиста історія


2. Merge commit (звичайний merge)

Якщо обидві гілки розвивалися паралельно:

A---B---C---F (main) \ D---E (feature)

Git створює окремий merge-коміт:

A---B---C---F---M (main) \ / D---E---

Видно, що була окрема гілка Історія максимально чесна


Конфлікти при merge

Якщо зміни зачіпають одні й ті самі рядки, Git не знає, що вибрати.

Тоді:

  • Git повідомляє про конфлікт
  • Ти вручну обираєш правильний варіант
  • Після цього робиш git commit

Конфлікти - це нормально, на співбесідах це підкреслюють.


Плюси git merge

Простий у використанні Безпечний Не переписує історію Добре підходить для командної роботи


Мінуси

Історія може стати «шумною» (багато merge-комітів)


Коротко для співбесіди

git merge - це команда для об'єднання гілок, яка зберігає історію і за потреби створює merge-коміт. Вона не переписує коміти і вважається безпечною для спільної роботи.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.