Вирішення Конфліктів Злиття
Виправлення конфліктів
У попередньому розділі виник конфлікт злиття, тому зараз настав час його виправити.
Спочатку відкрийте файл branch_learning.txt у редакторі Vim за допомогою наступної команди:
Якщо Vim не встановлено, можна скористатися іншим текстовим редактором, наприклад nano або atom, замінивши vim на назву вашого редактора у наведеній вище команді.
Однак рекомендується використовувати Vim для кращої відповідності наведеним тут крокам.
Ось як виглядає файл, відкритий у редакторі Vim:
Тепер видно маркерів конфлікту, які позначають конфліктні ділянки.
Ці маркери використовують стрілки та спеціальні символи для виділення відмінностей між гілками:
<<<<<<< HEAD: позначає початок змін з поточної гілки (master);=======: розділяє зміни з поточної гілки (HEAD) та ті, що надходять із гілки, яку зливають;>>>>>>> feature/new-feature: позначає кінець змін із гілки, яку зливають.
Для вирішення конфлікту оберіть один із наступних варіантів:
- Залишити зміни з поточної гілки (
master); - Залишити зміни з злитої гілки (
feature/new-feature); - Вручну відредагувати вміст.
Вручну відредагуйте файл, об'єднавши зміни з обох гілок, використовуючи такі кроки:
1. Вхід у режим редагування
Спочатку перейдіть у режим insert у Vim, натиснувши i.
Це дозволяє редагувати текст.
2. Редагування конфліктної секції
Далі об'єднайте рядки з обох гілок послідовно. Вміст файлу після цього має виглядати так:
3. Вихід з режиму редагування, збереження та вихід
Натисніть клавішу Escape для виходу з режиму вставки.
Потім введіть :wq і натисніть Enter для збереження змін і виходу з Vim:
Фіксація файлу
Оскільки конфлікти вирішено, додайте файл branch_learning.txt до області індексації та перевірте статус:
Файл було змінено та успішно додано до області підготовки. Тепер виконайте фіксацію змін:
Знову відкривається текстовий редактор за замовчуванням (Vim у цьому випадку) з типовим повідомленням про фіксацію, що стосується злиття:
Увімкнення режиму вставки у Vim за допомогою натискання i, після чого змініть повідомлення, додавши рядок
Kept lines from both branches
для опису способу вирішення конфліктів.
Ось повне повідомлення коміту:
Щоб вийти з режиму вставки, зберегти зміни та закрити Vim, натисніть клавішу Escape, потім введіть :wq і натисніть Enter.
Коміт виконано успішно, і конфлікт злиття тепер вирішено.
Тепер переглянемо нашу історію комітів у вигляді графа (прапорець --graph) з одним рядком на кожен коміт (прапорець --oneline):
Тут ви можете побачити останній коміт злиття разом із характерною структурою тристороннього злиття.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain what a three-way merge is?
How do I interpret the output of `git log --graph --oneline`?
What should I do if I see unexpected results in the commit graph?
Awesome!
Completion rate improved to 3.57
Вирішення Конфліктів Злиття
Свайпніть щоб показати меню
Виправлення конфліктів
У попередньому розділі виник конфлікт злиття, тому зараз настав час його виправити.
Спочатку відкрийте файл branch_learning.txt у редакторі Vim за допомогою наступної команди:
Якщо Vim не встановлено, можна скористатися іншим текстовим редактором, наприклад nano або atom, замінивши vim на назву вашого редактора у наведеній вище команді.
Однак рекомендується використовувати Vim для кращої відповідності наведеним тут крокам.
Ось як виглядає файл, відкритий у редакторі Vim:
Тепер видно маркерів конфлікту, які позначають конфліктні ділянки.
Ці маркери використовують стрілки та спеціальні символи для виділення відмінностей між гілками:
<<<<<<< HEAD: позначає початок змін з поточної гілки (master);=======: розділяє зміни з поточної гілки (HEAD) та ті, що надходять із гілки, яку зливають;>>>>>>> feature/new-feature: позначає кінець змін із гілки, яку зливають.
Для вирішення конфлікту оберіть один із наступних варіантів:
- Залишити зміни з поточної гілки (
master); - Залишити зміни з злитої гілки (
feature/new-feature); - Вручну відредагувати вміст.
Вручну відредагуйте файл, об'єднавши зміни з обох гілок, використовуючи такі кроки:
1. Вхід у режим редагування
Спочатку перейдіть у режим insert у Vim, натиснувши i.
Це дозволяє редагувати текст.
2. Редагування конфліктної секції
Далі об'єднайте рядки з обох гілок послідовно. Вміст файлу після цього має виглядати так:
3. Вихід з режиму редагування, збереження та вихід
Натисніть клавішу Escape для виходу з режиму вставки.
Потім введіть :wq і натисніть Enter для збереження змін і виходу з Vim:
Фіксація файлу
Оскільки конфлікти вирішено, додайте файл branch_learning.txt до області індексації та перевірте статус:
Файл було змінено та успішно додано до області підготовки. Тепер виконайте фіксацію змін:
Знову відкривається текстовий редактор за замовчуванням (Vim у цьому випадку) з типовим повідомленням про фіксацію, що стосується злиття:
Увімкнення режиму вставки у Vim за допомогою натискання i, після чого змініть повідомлення, додавши рядок
Kept lines from both branches
для опису способу вирішення конфліктів.
Ось повне повідомлення коміту:
Щоб вийти з режиму вставки, зберегти зміни та закрити Vim, натисніть клавішу Escape, потім введіть :wq і натисніть Enter.
Коміт виконано успішно, і конфлікт злиття тепер вирішено.
Тепер переглянемо нашу історію комітів у вигляді графа (прапорець --graph) з одним рядком на кожен коміт (прапорець --oneline):
Тут ви можете побачити останній коміт злиття разом із характерною структурою тристороннього злиття.
Дякуємо за ваш відгук!