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

bookВирішення Конфліктів Злиття

Виправлення конфліктів

У попередньому розділі виник конфлікт злиття, тому зараз настав час його виправити. Спочатку відкрийте файл branch_learning.txt у редакторі Vim за допомогою наступної команди:

Відкриття Vim

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

Ось як виглядає файл, відкритий у редакторі Vim:

Файл із конфліктами відкритий у Vim

Тепер видно маркерів конфлікту, які вказують на конфліктні ділянки.
Ці маркери використовують стрілки та спеціальні символи для виділення відмінностей між гілками:

  • <<<<<<< HEAD; позначає початок змін з поточної гілки (master);
  • =======; відокремлює зміни з поточної гілки (HEAD) та ті, що надходять із гілки, яку зливають;
  • >>>>>>> feature/new-feature; позначає кінець змін із гілки, яку зливають.

Для вирішення конфлікту оберіть один із наступних варіантів:

  • Зберегти зміни з поточної гілки (master);
  • Зберегти зміни з злитої гілки (feature/new-feature);
  • Вручну відредагувати вміст.

Вручну відредагуйте файл, об'єднавши зміни з обох гілок, використовуючи такі кроки:

1. Вхід у режим редагування

Спочатку увійдіть у режим insert у Vim, натиснувши i. Це дозволяє редагувати текст.

2. Редагування конфліктної секції

Далі об’єднайте рядки з обох гілок послідовно. Вміст файлу після цього має виглядати наступним чином:

Вирішення конфлікту

3. Вихід з режиму редагування, збереження та вихід

Натисніть клавішу Escape для виходу з режиму вставки. Далі введіть :wq і натисніть Enter для збереження змін і виходу з Vim:

Вихід із Vim

Фіксація файлу

Оскільки конфлікти вирішено, додайте файл branch_learning.txt до області індексації та перевірте статус:

Додавання вирішеного файлу

Файл було змінено та успішно додано до області підготовки. Тепер виконайте фіксацію:

Фіксація файлу

Знову відкривається текстовий редактор за замовчуванням (Vim у цьому випадку) з типовим повідомленням про фіксацію щодо злиття:

Типове повідомлення коміту

Увімкнення режиму вставки у Vim за допомогою натискання i, після чого змініть повідомлення, додавши рядок Kept lines from both branches для опису способу вирішення конфліктів.

Ось повне повідомлення коміту:

Щоб вийти з режиму вставки, зберегти зміни та закрити Vim, натисніть клавішу Escape, потім введіть :wq і натисніть Enter.

Збереження зміненого повідомлення та вихід із Vim

Коміт виконано успішно, і конфлікт злиття тепер вирішено.

Тепер розглянемо нашу історію комітів у вигляді графа (прапорець --graph) з одним рядком на кожен коміт (прапорець --oneline):

Графік історії комітів

Тут можна побачити останній коміт злиття разом із характерною структурою тристороннього злиття.

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 3.57

bookВирішення Конфліктів Злиття

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

Виправлення конфліктів

У попередньому розділі виник конфлікт злиття, тому зараз настав час його виправити. Спочатку відкрийте файл branch_learning.txt у редакторі Vim за допомогою наступної команди:

Відкриття Vim

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

Ось як виглядає файл, відкритий у редакторі Vim:

Файл із конфліктами відкритий у Vim

Тепер видно маркерів конфлікту, які вказують на конфліктні ділянки.
Ці маркери використовують стрілки та спеціальні символи для виділення відмінностей між гілками:

  • <<<<<<< HEAD; позначає початок змін з поточної гілки (master);
  • =======; відокремлює зміни з поточної гілки (HEAD) та ті, що надходять із гілки, яку зливають;
  • >>>>>>> feature/new-feature; позначає кінець змін із гілки, яку зливають.

Для вирішення конфлікту оберіть один із наступних варіантів:

  • Зберегти зміни з поточної гілки (master);
  • Зберегти зміни з злитої гілки (feature/new-feature);
  • Вручну відредагувати вміст.

Вручну відредагуйте файл, об'єднавши зміни з обох гілок, використовуючи такі кроки:

1. Вхід у режим редагування

Спочатку увійдіть у режим insert у Vim, натиснувши i. Це дозволяє редагувати текст.

2. Редагування конфліктної секції

Далі об’єднайте рядки з обох гілок послідовно. Вміст файлу після цього має виглядати наступним чином:

Вирішення конфлікту

3. Вихід з режиму редагування, збереження та вихід

Натисніть клавішу Escape для виходу з режиму вставки. Далі введіть :wq і натисніть Enter для збереження змін і виходу з Vim:

Вихід із Vim

Фіксація файлу

Оскільки конфлікти вирішено, додайте файл branch_learning.txt до області індексації та перевірте статус:

Додавання вирішеного файлу

Файл було змінено та успішно додано до області підготовки. Тепер виконайте фіксацію:

Фіксація файлу

Знову відкривається текстовий редактор за замовчуванням (Vim у цьому випадку) з типовим повідомленням про фіксацію щодо злиття:

Типове повідомлення коміту

Увімкнення режиму вставки у Vim за допомогою натискання i, після чого змініть повідомлення, додавши рядок Kept lines from both branches для опису способу вирішення конфліктів.

Ось повне повідомлення коміту:

Щоб вийти з режиму вставки, зберегти зміни та закрити Vim, натисніть клавішу Escape, потім введіть :wq і натисніть Enter.

Збереження зміненого повідомлення та вихід із Vim

Коміт виконано успішно, і конфлікт злиття тепер вирішено.

Тепер розглянемо нашу історію комітів у вигляді графа (прапорець --graph) з одним рядком на кожен коміт (прапорець --oneline):

Графік історії комітів

Тут можна побачити останній коміт злиття разом із характерною структурою тристороннього злиття.

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

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

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

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