Злиття Гілок
Свайпніть щоб показати меню
Розуміння злиття гілок
У Git злиття — це процес інтеграції змін з однієї гілки в іншу. Найпоширеніший випадок використання — злиття feature-гілок у main-гілку (наприклад, main або master). Це гарантує, що останні функції та виправлення помилок включені до основної кодової бази.
Базовий робочий процес злиття
Спочатку перегляньте два найновіші коміти.
Пам’ятайте, що ви зараз перебуваєте на гілці feature/new-feature.
git log -n 2
Як видно, гілка master знаходиться на один коміт позаду.
Перед злиттям необхідно перемкнутися на гілку, у яку будуть інтегровані зміни.
Перейдіть на гілку master та відобразіть два останні коміти в ній:
git checkout master
git log -n 2
Гілка master дійсно відстає на один коміт від гілки feature.
Щоб об'єднати їх, використовуйте команду git merge і вкажіть гілку, яку потрібно об'єднати з поточною гілкою.
Наприклад, щоб об'єднати гілку feature/new-feature з master, виконайте:
git merge feature/new-feature
Повідомлення, яке відображається після виконання команди, містить наступне: Fast-forward, що вказує на виконання злиття типу fast-forward.
Пізніше в цьому розділі буде розглянуто два типи злиття. Перед цим перегляньте два найновіші коміти:
git log -n 2
Ви все ще перебуваєте на гілці master, але тепер вона синхронізована з гілкою feature, і обидві гілки вказують на один і той самий коміт.
HEAD все ще вказує на гілку master, оскільки ви перебували на цій гілці під час виконання злиття.
Типи злиття
У Git існує два типи операцій злиття:
- Fast-forward злиття;
- Тристороннє злиття.
Fast-forward злиття
Злиття, яке ви виконали, є fast-forward злиттям, як зазначено у повідомленні. Цей тип виникає, коли всі коміти з поточної гілки, на якій ви перебуваєте, також присутні у гілці, яку зливають, тобто їхні історії комітів не розходяться.
Для пояснення зверніться до наступної ілюстрації:
У цьому типі злиття покажчик поточної гілки просто оновлюється до останнього коміту.
Тристороннє злиття
Однак якщо історія гілок розійшлася, тобто після певного спільного коміту в кожній гілці окремо були створені нові коміти, виконується тристороннє злиття.
Термін "тристороннє" стосується трьох версій, які беруть участь у злитті:
- Версія найсвіжішого спільного предка (коміт);
- Версія останнього коміту в поточній гілці (HEAD);
- Версія останнього коміту у гілці, що зливається.
Ознайомтеся з наступною ілюстрацією цього типу злиття:
Ось як працює тристороннє злиття:
- Git визначає зміни, внесені в кожній з гілок після найближчого спільного предка;
- Якщо кожна гілка має зміни в різних файлах або в різних частинах одного й того ж файлу, Git автоматично об'єднає зміни, поєднавши їх у підсумковому коміті;
- В іншому випадку виникає конфлікт злиття.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат