Skip to main content

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

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

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

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

Warning

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

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

    Снимок экрана: главная страница репозитория. На горизонтальной панели навигации вкладка с меткой "Запросы на вытягивание" выделена темно-оранжевым цветом.

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

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

    Снимок экрана: предупреждение о том, что запрос на вытягивание содержит конфликт слияния. Кнопка "Разрешить конфликт слияния" выделена темно-оранжевым цветом.

    Note

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

  4. Решите, хотите ли вы сохранить изменения только вашей ветви, только другой ветви или внести совершенно новое изменение, которое может включать изменения в обеих ветвях. Удалите конфликтующие маркеры <<<<<<<, =======, >>>>>>> и внесите необходимые изменения в окончательном объединении.

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

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

    Снимок экрана редактора для разрешения конфликт слияния в запросе на вытягивание. Кнопка "Пометить как разрешенная" описывается в темно-оранжевый цвет.

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

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

    Снимок экрана редактора для разрешения конфликт слияния в запросе на вытягивание. Кнопка "Зафиксировать слияние" выделена темно-оранжевым цветом.

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

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

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

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

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

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

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