Skip to main content

Слияние запроса на вытягивание

Слияние запросов на вытягивание в вышестоящей ветви, выбор методов слияния и соответствие требованиям репозитория, таким как проверки или проверки состояния.

Tool navigation

Сведения о слиянии запросов на вытягивание

Слияние запроса на вытягивание при готовности предлагаемых изменений и удовлетворении требований к репозиторию. Нельзя выполнить слияние для черновика запроса на вытягивание.

Перед слиянием правил репозитория или защиты ветви могут потребоваться проверки, проверки состояния или up-to-date branch. См . раздел AUTOTITLE.

В качестве альтернативы правилам защиты ветвей можно создавать наборы правил. Наборы правил имеют несколько преимуществ по сравнению с правилами защиты ветвей, например, статусы, а также лучшая обнаружимость без необходимости доступа администратора. Вы также можете применять несколько наборов правил одновременно. Дополнительные сведения см. в разделе Сведения о наборе правил.

Вы можете настроить запрос на вытягивание для автоматического объединения при соблюдении всех требований к объединению. Дополнительные сведения см. в разделе Автоматическое слияние запроса на вытягивание.

Если для базовой ветви требуется очередь слияния, доступные параметры слияния отличаются от описанных здесь. См . раздел AUTOTITLE.

Если запрос на вытягивание имеет конфликты слияния или сначала протестировать изменения, ознакомьтесь с запросом на вытягивание локально.

Репозиторий может автоматически удалить головную ветвь после объединения. См . раздел AUTOTITLE.

Примечание.

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

Запросы на вытягивание используют --no-ff параметр, кроме сквашированных или перебазированных запросов на вытягивание, которые используют быстрое слияние.

Вы можете привязать pull request к проблеме, чтобы показать, что исправление уже в процессе, и автоматически закрыть проблему при слиянии pull-запроса. Дополнительные сведения см. в разделе Связывание запроса на вытягивание с проблемой.

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

Слияние запроса на вытягивание

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

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

  2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который требуется объединить.

  3. Прокрутите вниз до нижней части запроса на вытягивание. В зависимости от параметров слияния, включенных для репозитория, выберите метод слияния:

    Примечание.

    Повторная база и слияние всегда обновляют сведения о фиксации и создают новые shas фиксации. См . сведения о слиянии запросов на вытягивание.

  4. При появлении запроса введите сообщение о фиксации или примите сообщение по умолчанию.

    Сведения о сообщениях фиксации по умолчанию для слияний сквош см. в разделе Слияние запросов на вытягивание.

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

Снимок экрана: запрос на извлечение GitHub с раскрывающимся меню с параметрами выбора адреса электронной почты автор фиксации.
octocat@github.com выбран.

Примечание.

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

  1. Щелкните Подтвердить слияние, Подтвердить слияние со сжатием или Подтвердить перемещение и слияние.
  2. При необходимости удалите ветвь. Это позволяет сохранить список ветвей в репозитории чистым.

Примечание.

Дополнительные сведения о GitHub CLIсм. в разделе О GitHub CLI.

Чтобы выполнить слияние для запроса на вытягивание, используйте подкоманду gh pr merge. Замените pull-request номером, URL-адресом или главной ветвью запроса на вытягивание.

gh pr merge PULL-REQUEST

Следуйте интерактивным указаниям, чтобы завершить слияние. См . раздел AUTOTITLE.

Кроме того, можно использовать флаги для пропуска интерактивных запросов. Например, эта команда сквасит фиксации в одну фиксацию с сообщением фиксации "моя фиксация squash", объединяет сквашированную фиксацию в базовую ветвь, а затем удаляет локальную и удаленную ветвь.

gh pr merge 523 --squash --body "my squash commit" --delete-branch

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