Разрешение конфликта
Часть раздела Контроль версий путешествия по Terminal на Coddy. Урок 38 из 58.
Прервать выполнение иногда бывает правильным решением, но чаще всего нужно действительно разрешить конфликт и завершить слияние.
Разрешение конфликта — это ритуал из трех шагов:
- Откройте файл с конфликтом. Замените блок маркеров нужной версией (или их комбинацией).
- Добавьте разрешённый файл в индекс с помощью
git add. - Завершите слияние командой
git commit.
Ты можешь использовать скрипт, чтобы напрямую перезаписать файл содержимым после разрешения конфликта — именно это ты сделаешь в этом уроке (редактор не нужен).
Если ты забудешь выполнить git add для файла с разрешённым конфликтом, коммит завершится ошибкой и сообщит, что файл всё ещё помечен как неслитый.
Задание
СреднеСоздай конфликт в notes.txt точно так же, как в предыдущем уроке:
- Начальный коммит в ветке
mainс содержимымhello - В ветке
alt: измени содержимое наhi from alt, создай коммит - Вернись в ветку
main: измени содержимое наhi from main, создай коммит - Выполни
git merge alt(возникнет конфликт)
Разреши конфликт, перезаписав notes.txt строкой hi from both. Добавь файл в индекс и заверши слияние с сообщением Resolve notes. Выведи итоговое содержимое notes.txt.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Контроль версий
4Проверка изменений
Git DiffРазница проиндексированных измененийGit ShowПовторение — детективная работа2Начало работы
Инициализация репозиторияПапка .gitНастройка вашей личностиСтатус GitПовторение — первый репозиторий5Игнорирование файлов
Зачем игнорировать файлыШаблоны .gitignoreПроверка правил игнорированияПовторение — чистый репозиторий8Слияние
Что такое слияниеСлияние с перемоткой вперёдТрёхстороннее слияниеКонфликты слиянияРазрешение конфликтаПовторение — мастер слияния3Отслеживание изменений
Область подготовленных измененийGit AddGit CommitИзменение отслеживаемого файлаGit LogПовторение — первые коммиты6Проект сайта с рецептами
Обзор проектаИнициализация и игнорированиеПотренируйтесь самостоятельно: Песочница Terminal