Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Злиття Гілок | Робота з гілками у Git
Основи Git

Злиття Гілок

Свайпніть щоб показати меню

Розуміння злиття гілок

У Git злиття — це процес інтеграції змін з однієї гілки в іншу. Найпоширеніший випадок використання — злиття feature-гілок у main-гілку (наприклад, main або master). Це гарантує, що останні функції та виправлення помилок включені до основної кодової бази.

Базовий робочий процес злиття

Спочатку перегляньте два найновіші коміти. Пам’ятайте, що ви зараз перебуваєте на гілці feature/new-feature.

git log -n 2
Два останні коміти у feature-гілці

Як видно, гілка master знаходиться на один коміт позаду. Перед злиттям необхідно перемкнутися на гілку, у яку будуть інтегровані зміни. Перейдіть на гілку master та відобразіть два останні коміти в ній:

git checkout master
git log -n 2
Перехід на master і відображення двох останніх комітів

Гілка master дійсно відстає на один коміт від гілки feature. Щоб об'єднати їх, використовуйте команду git merge і вкажіть гілку, яку потрібно об'єднати з поточною гілкою. Наприклад, щоб об'єднати гілку feature/new-feature з master, виконайте:

git merge feature/new-feature
Злиття
Note
Примітка

Повідомлення, яке відображається після виконання команди, містить наступне: Fast-forward, що вказує на виконання злиття типу fast-forward.

Пізніше в цьому розділі буде розглянуто два типи злиття. Перед цим перегляньте два найновіші коміти:

git log -n 2
Два останні коміти після злиття

Ви все ще перебуваєте на гілці master, але тепер вона синхронізована з гілкою feature, і обидві гілки вказують на один і той самий коміт.

Note
Примітка

HEAD все ще вказує на гілку master, оскільки ви перебували на цій гілці під час виконання злиття.

Типи злиття

У Git існує два типи операцій злиття:

  • Fast-forward злиття;
  • Тристороннє злиття.

Fast-forward злиття

Злиття, яке ви виконали, є fast-forward злиттям, як зазначено у повідомленні. Цей тип виникає, коли всі коміти з поточної гілки, на якій ви перебуваєте, також присутні у гілці, яку зливають, тобто їхні історії комітів не розходяться.

Для пояснення зверніться до наступної ілюстрації:

У цьому типі злиття покажчик поточної гілки просто оновлюється до останнього коміту.

Тристороннє злиття

Однак якщо історія гілок розійшлася, тобто після певного спільного коміту в кожній гілці окремо були створені нові коміти, виконується тристороннє злиття.

Термін "тристороннє" стосується трьох версій, які беруть участь у злитті:

  • Версія найсвіжішого спільного предка (коміт);
  • Версія останнього коміту в поточній гілці (HEAD);
  • Версія останнього коміту у гілці, що зливається.

Ознайомтеся з наступною ілюстрацією цього типу злиття:

Ось як працює тристороннє злиття:

  1. Git визначає зміни, внесені в кожній з гілок після найближчого спільного предка;
  2. Якщо кожна гілка має зміни в різних файлах або в різних частинах одного й того ж файлу, Git автоматично об'єднає зміни, поєднавши їх у підсумковому коміті;
  3. В іншому випадку виникає конфлікт злиття.
question mark

Виберіть усі типи злиття.

Виберіть усі правильні відповіді

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 4
some-alt