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

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

Suggested prompts:

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

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