Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

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

Вы можете устранить простые конфликты слияния, которые конкурируют с изменениями строк на сайте GitHub, с помощью редактора конфликтов.

Конфликты слияния можно разрешать только в GitHub, вызванных конкурирующими изменениями строк, например при внесении разных изменений в одну строку одного файла в разных ветвях в репозитории Git. Остальные типы конфликтов слияния необходимо разрешить локально в командной строке. Дополнительные сведения см. в статье Устранение конфликта слияния с помощью командной строки.

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

  1. Под именем репозитория щелкните Запросы на вытягивание. Выбор вкладки "Проблемы и запросы на вытягивание"

  2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание вместе с конфликтом слияния, который вы хотите разрешить.

  3. В нижней части запроса на вытягивание нажмите кнопку Разрешить конфликты. Кнопка для разрешения конфликтов слияния

    Совет. Если кнопка Разрешить конфликты отключена, это означает, что конфликт слияния запроса на вытягивание является слишком сложным для разрешения в GitHub. Вам необходимо разрешить конфликт слияния с помощью альтернативного клиента Git или использования Git в командной строке. Дополнительные сведения см. в статье Устранение конфликта слияния с помощью командной строки.

    1. Решите, хотите ли вы сохранить изменения только вашей ветви, только другой ветви или внести совершенно новое изменение, которое может включать изменения в обеих ветвях. Удалите конфликтующие маркеры `<<<<<<<`, `=======`, `>>>>>>>` и внесите необходимые изменения в окончательном объединении. ![Просмотр примера конфликта слияния с метками конфликтов](/assets/images/help/pull_requests/view-merge-conflict-with-markers.png)
  4. Если в файле имеется несколько конфликтов слияния, прокрутите вниз до следующего набора меток конфликтов и повторите шаги четыре и пять, чтобы устранить конфликт слияния.

  5. После устранения всех конфликтов в файле нажмите кнопку Пометить как разрешенный. Нажмите кнопку "Пометить как разрешенный"

  6. Если у вас есть несколько файлов с конфликтом, в левой части страницы в разделе "Конфликтующие файлы" выберите следующий файл, который нужно изменить, и повторите шаги 4–7, пока все конфликты слияния запроса на вытягивание не будут устранены. Выберите следующий конфликтующий файл (если это применимо)

  7. После устранения всех конфликтов слияния нажмите Зафиксировать слияние. Это объединит всю базовую ветвь в главную ветвь. Кнопка для разрешения конфликтов слияния

  8. При появлении подсказки выполните проверку ветви, для которой выполняется фиксация.

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

    Если вы решили создать новую ветвь, введите для нее имя.

    Если главная ветвь запроса на вытягивание защищена, необходимо создать новую ветвь. У вас не будет возможности обновить защищенную ветвь.

    Нажмите Создать ветвь и обновить запрос на вытягивание или Все понятно, продолжить обновление BRANCH. Текст кнопки соответствует выполняемому действию.

  9. Чтобы выполнить слияние запроса на вытягивание, нажмите Слияние запроса на вытягивание. Дополнительные сведения о других вариантах слияния запросов на вытягивание см. в статье Слияние запросов на вытягивание.

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