Зміст курсу
Основи Git
Основи Git
Вирішення Конфліктів Злиття
Виправлення Конфліктів
У попередньому розділі ми зіткнулися з конфліктом злиття, тож настав час його виправити. Спочатку відкриємо наш файл branch_learning.txt
у редакторі Vim за допомогою наступної команди:
Якщо у вас не встановлено Vim, ви можете скористатися іншими текстовими редакторами, такими як nano або atom (замініть vim
на назву вашого текстового редактора у команді вище). Однак ми наполегливо рекомендуємо вам використовувати Vim, оскільки з ним вам буде набагато легше слідувати інструкціям.
Ось наш файл, відкритий у редакторі Vim:
Тепер ми бачимо маркери, що вказують на конфліктуючі розділи. Ці маркери представлені стрілками і спеціальними символами для виділення конфліктуючих змін з різних гілок. Конфліктні маркери є наступними:
<<<<<<< HEAD
: Вказує на початок змін з поточної гілки (у нашому випадкуmaster
).=======
: Відокремлює зміни з поточної гілки (HEAD) і зміни з гілки, що об'єднується.>>>>>>> feature/new-feature
: Позначає кінець змін з гілки, що об'єднується.
Щоб виправити конфлікт, ми можемо або вибрати зміну з поточної гілки (master
), або вибрати зміну з гілки, що об'єднується (feature/new-feature
), або вручну відредагувати зміни.
Давайте відредагуємо зміни вручну, об'єднавши зміни з обох гілок, виконавши наступні кроки:
1. Увійти у Режим Редагування
По-перше, ми повинні увійти у режим вставки (редагування) у Vim, натиснувши клавішу i
. Це дозволить вам редагувати текст.
2. Редагувати Конфліктну Секцію
Далі ми об'єднаємо рядки з обох гілок один за одним, таким чином, кінцевий вміст файлу буде наступним:
3. Вихід з Режиму Редагування, Збереження та Вихід:
Для виходу з режиму вставки слід натиснути клавішу Escape. Згодом, щоб зберегти зміни і вийти, ми введемо :wq
і натиснемо клавішу Enter:
Комміт Файлу
Оскільки ми вирішили конфлікти, давайте додамо branch_learning.txt
до стейдж зони і перевіримо статус:
Файл було змінено і додано до стейдж зони. Тепер ми можемо перейти до його комміту:
Знову відкриється текстовий редактор за замовчуванням (Vim у моєму випадку) з повідомленням про злиття за замовчуванням:
Перейдемо у режим вставки у Vim за допомогою клавіші i
та модифікуємо це повідомлення, додавши до нього наступний рядок: Kept lines from both branches
, щоб вказати спосіб вирішення конфліктів. Ось повне повідомлення комміту:
Щоб вийти з режиму вставки, зберегти зміни і завершити роботу Vim, слід натиснути клавішу Escape, а потім ввести :wq
і натиснути клавішу Enter.
Комміт успішно виконано, і конфлікт злиття вирішено.
Давайте подивимося на нашу історію коммітів у вигляді графа (прапорець --graph
) з одним рядком для кожного комміту (прапорець --online
):
Тут ми бачимо наш останній комміт злиття і характерну форму three-way злиття.
Дякуємо за ваш відгук!