Решение конфликта
Чтобы продолжить отправку только что сделанных изменений в удаленный репозиторий, мы должны вручную разрешить конфликт. Для этого давайте выполним запрос на получение, чтобы получить самый последний набор изменений из удаленного репозитория.
Щелкните правой кнопкой мыши каталог «tutorial» и выберите «Pull» (Получить).
![Click Pull from right-click menu.](/static/0c1eb8c122714feda1c86b86dbe0de73/5a190/01.png)
Нажмите «ОК».
![Click OK button](/static/9044d241db7114bf696d0917fbed2da1/5a190/02.png)
Если вы видите информационное окно, рассказывающее о слияниях, прочтите его и нажмите «ОК».
![The message automatic merge failed comes up](/static/2cc67062ba0afa71e804840fbd15cf29/5a190/03.png)
Когда вы увидите предупреждающее сообщение о том, что автоматическое слияние не выполнено, нажмите «Close» (Закрыть).
![Click Close button](/static/baf360f2230224498193aabfdbe8be4f/5a190/04.png)
Затем вас спросят, хотите ли вы увидеть изменения в этой версии. Нажмите «Yes» (Да).
![Click Yes button](/static/0bbe94c3fbdef013f463239c96ce67df/5a190/05.png)
TortoiseGit сообщает нам, что автоматическое слияние не выполнено, поскольку «sample.txt» имеет конфликт слияния. Нажмите «ОК».
![The conflicts have happened.](/static/5e902757659a20976bed352be96f0487/5a190/06.png)
Когда вы откроете sample.txt
, вы увидите маркеры, добавленные Git, указывающие на конфликты в этом разделе файла, как показано ниже.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of the remote repository
>>>>>>> 17c860612953c0f9d88f313c8dfbf7d858e02e91
Мы собираемся решить конфликт, приняв оба изменения и удалив маркер.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
pull: Obtain the content of the remote repository
Как только мы решим конфликт и содержимое файла изменится, нам нужно будет инициировать фиксацию.
Щелкните правой кнопкой мыши и выберите Git Commit -> main
.
Отобразится окно с информацией о слияниях; нажмите «ОК».
![A window about merges](/static/d53d7dc48f94c80bb7ce206b6cdf72e8/5a190/07.png)
Щелкните правой кнопкой мыши файл «sample» и выберите «Resolved» (Решено), поскольку мы только что решили этот конфликт слияния вручную с помощью нашего текстового редактора.
![Right-click the sample file and choose Resolved](/static/65330c3fd30a30c15df64c1d78e57afe/5a190/08.png)
Когда отобразится окно для подтверждения этого изменения, нажмите «Yes» (Да).
![a window displays to confirm this change](/static/c5975c792bf57a881a9d60c1d60bfa00/5a190/09.png)
При появлении предупреждения о сообщении о фиксации, в котором все еще упоминаются конфликтующие файлы, выберите «Ignore» (Игнорировать) или «Abort» (Прервать). Затем удалите строки из сообщения о фиксации или следуйте советам внизу, чтобы TortoiseGit автоматически удалял строки, начинающиеся с «#». (Автоматическое удаление — это поведение по умолчанию для большинства других клиентов Git.)
Теперь мы получили последние изменения из удаленного репозитория.
![Completed acquiring the latest changes from the remote repository](/static/43ea2017d67169e54487b2ae2616c92f/5a190/10.png)
Это указывает на то, что два журнала успешно объединены с новой фиксацией слияния. Теперь мы можем безопасно передать это изменение в удаленный репозиторий без каких-либо конфликтов слияния.
Если вы не хотите учиться использовать Git на Mac или в командной строке, переходите сразу к разделу Ветвление.