Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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

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

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

Если администратор сайта отключает редактор конфликтов слияния для запросов на вытягивание между репозиториями, редактор конфликтов невозможно использовать в GitHub Enterprise Server, а конфликты слияния необходимо разрешать в командной строке. Например, если редактор конфликтов слияния отключен, его невозможно использовать в запросе на вытягивание между вилкой и вышестоящим репозиторием.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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