Ключові поняття

Злиття

В Git злиття (merging) — це процес об'єднання змін з однієї гілки в іншу. Зазвичай так роблять, коли робота над новою можливістю чи виправленням помилки в окремій гілці завершена й настав час інтегрувати її в гілку main. Злиття дозволяє звести докупи зміни з різних гілок і отримати єдину версію проєкту з усіма оновленнями.

Злиття — ключова операція в Git, бо саме вона робить можливими спільну розробку й паралельну роботу над різними можливостями чи виправленнями. Працюючи в окремих гілках, розробники не заважають одне одному. Коли робота в гілці завершена й протестована, її можна злити назад у гілку main, і зміни стануть доступними всім.

Під час злиття Git автоматично намагається об'єднати зміни з гілки-джерела в цільову гілку. Якщо зміни не конфліктують між собою (тобто стосуються різних частин коду), Git виконає злиття в режимі fast-forward (швидке перемотування) — просто пересуне вказівник цільової гілки на останній коміт гілки-джерела.

Але якщо зміни конфліктують (тобто обидві гілки змінили ті самі рядки коду), Git зупиниться з конфліктом злиття і попросить розв'язати його, перш ніж завершити злиття. Це означає переглянути конфліктні зміни, вирішити, які з них залишити, і відповідно поправити код.

Приклади

Припустімо, ти працюєш над вебзастосунком і потрібно реалізувати нову функцію реєстрації користувачів. Для роботи над нею створюєш нову гілку login-form-feature:

Виконай у терміналі:
git switch -c login-form-feature

Коли функція готова й ретельно протестована, час злити зміни назад у гілку main:

Виконай у терміналі:
git switch main
git merge login-form-feature

Git спробує злити зміни з гілки login-form-feature у гілку main. Якщо конфліктів немає, злиття завершиться автоматично.