Menu
Coddy logo textTech

Разрешение конфликта

Часть раздела Контроль версий путешествия по Terminal на Coddy — урок 38 из 58.

Отмена иногда является правильным решением, но в большинстве случаев вы на самом деле хотите разрешить конфликт и завершить слияние.

Разрешение конфликта — это ритуал из трех шагов:

  1. Откройте файл с конфликтом. Замените блок маркеров версией, которую вы хотите оставить (или их комбинацией).
  2. Подготовьте исправленный файл с помощью git add.
  3. Завершите слияние с помощью git commit.

Вы можете использовать скрипт, чтобы напрямую перезаписать файл разрешенным содержимым, что вы и сделаете в этом уроке (редактор не потребуется).

Если вы забудете выполнить git add для разрешенного файла, коммит завершится ошибкой и сообщит вам, что файл все еще помечен как неразрешенный.

challenge icon

Задание

Средне

Создайте конфликт в notes.txt точно так же, как в предыдущем уроке:

  • Начальный коммит в ветке main с содержимым hello
  • В ветке alt: измените на hi from alt, сделайте коммит
  • Вернитесь в main: измените на hi from main, сделайте коммит
  • Выполните git merge alt (возникнет конфликт)

Разрешите конфликт, перезаписав notes.txt строкой hi from both. Добавьте файл в индекс и завершите слияние с сообщением Resolve notes. Выведите финальное содержимое notes.txt.

Шпаргалка

Чтобы разрешить конфликт слияния:

  1. Отредактируйте файл с конфликтом — удалите маркеры конфликта и оставьте нужный контент.
  2. Подготовьте разрешенный файл: git add <file>
  3. Завершите слияние: git commit
git add notes.txt
git commit -m "Resolve conflict"

Если вы пропустите git add, коммит завершится ошибкой, так как файл все еще будет помечен как неслитый.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Контроль версий