Skip to main content

Конфликты слияния

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

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

Объединение конфликтов блокирует слияние, так как Git не может безопасно выбрать версию конфликтующего содержимого. Вы должны разрешить все конфликты слияния, прежде чем сможете объединить pull request на GitHub. Если запрос на вытягивание имеет конфликт слияния между ветвью сравнения и базовой ветвью, кнопка "Объединить запрос на вытягивание " будет деактивирована до тех пор, пока не будут устранены конфликты.

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

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

  • Часто можно разрешать GitHubпростые конфликты строк. См . раздел AUTOTITLE.
  • Более сложные конфликты необходимо устранить в локальном клоне и отправить обратно в ветвь запроса на вытягивание. См . раздел AUTOTITLE.

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

$ git merge BRANCH-NAME
> Auto-merging styleguide.md
> CONFLICT (content): Merge conflict in styleguide.md
> Automatic merge failed; fix conflicts and then commit the result

Дополнительные материалы