Конфликт при слиянии веток в Git

В процессе слияния двух веток возможны конфликты, если в каждой из веток мы изменяли один и тот же файл. Рассмотрим ситуацию, когда в обоих ветках master и test из предыдущего урока мы изменили и сделали коммит на один тот же файл file.txt. А затем применили команду слияния:

terminalgit merge test

В результате увидим ошибку:

textAuto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.

Кроме того, в изменяемом файле мы увидим маркеры конфликта:

text<<<<<<< HEAD
тут будут написаны изменения ветки master
=======
тут будут написаны изменения ветки test
>>>>>>> test

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

После того, как мы разрешим конфликт (то есть оставим правильный код в файле), проиндексируем наш файл и сделаем коммит в ветке master, в которой мы сейчас находимся:

textgit add file.txt
git commit -m "слияние"

Toлько после этого мы можем переключиться на вторую ветку test и проделать все те же операции, что и в ветке master, в том числе и заменить содержимое файла file.txt на то же, что и в первой ветке:

terminalgit add file.txt
git commit -m "слияние"

Теперь мы можем снова переключиться на основную ветку и влить в нее вторую:

terminalgit switch master
git merge test
Задание 1

Намеренно создайте конфликт при слиянии веток. Затем разрешите его.