Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Как использовать Git
  6. Как использовать Git в Mac
  7. Решение конфликта
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

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

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

Нажмите значок «Pull» (Получить) на панели инструментов.

Execute pull

Нажмите «ОК».

Click OK button

Появится диалоговое окно, предупреждающее нас о конфликте слияния. Закройте его, затем нажмите «Cancel» (Отмена), чтобы отменить получение.

Git не может выполнить получение, поскольку не может автоматически объединить конфликтующие файлы. Последние изменения в удаленной ветке были загружены на ваш компьютер, но ваше рабочее дерево не обновлено. Чтобы завершить получение, сначала необходимо решить конфликты.

Выберите последнюю фиксацию в вашей локальной ветке и нажмите «Merge» (Слияние), а затем «OK».

click Merge then OK

Sourcetree сообщит о наличии конфликтов слияния. Нажмите «ОК».

Conflict occurred during the merge

Когда вы откроете sample.txt в папке tutorial, вы увидите маркеры, добавленные 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

Как только мы решим конфликт и содержимое файла изменится, нам нужно будет инициировать фиксацию.

Выберите «Uncommitted changes» (Незафиксированные изменения) и выберите «Commit» (Зафиксировать).

Теперь мы получили последние изменения из удаленного репозитория.

Completed acquiring the latest changes from the remote repository

Это указывает на то, что два журнала успешно объединены с новой фиксацией слияния. Теперь мы можем безопасно передать это изменение в удаленный репозиторий без каких-либо конфликтов слияния.

Если вы не хотите учиться использовать Git в командной строке, переходите сразу к разделу Ветвление.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life