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

bookЗлиття Гілок

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

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

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

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

Два останні коміти у фічевій гілці

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

Перехід на master і відображення двох останніх комітів

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

Злиття
Note
Примітка

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

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

Два останні коміти після злиття

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

Note
Примітка

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

Типи злиття

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

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

Fast-forward злиття

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

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

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

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

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

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

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

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

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

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

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 3.57

bookЗлиття Гілок

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

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

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

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

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

Два останні коміти у фічевій гілці

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

Перехід на master і відображення двох останніх комітів

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

Злиття
Note
Примітка

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

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

Два останні коміти після злиття

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

Note
Примітка

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

Типи злиття

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

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

Fast-forward злиття

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

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

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

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

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

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

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

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

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

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

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

Select the correct answer

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

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

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

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