Skip to main content

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

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

Кто может использовать эту функцию?

Очереди слияния по запросу на вытягивание доступны в любых общедоступный репозиторий, принадлежащих организации, или в частных репозиториях, принадлежащих организациям с помощью GitHub Enterprise Cloud. Дополнительные сведения см. в разделе "Планы GitHub".

Tool navigation

Сведения об очередях слияния

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

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

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

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

Очередь слияния может использовать GitHub Actions или собственный поставщик CI для выполнения необходимых проверка для запросов на вытягивание в очереди слияния. Дополнительные сведения см. в разделе Документация GitHub Actions. Дополнительные сведения о очередях слиянием см. в разделе "Управление очередью слияния".

Добавление запроса на вытягивание в очередь слияния

Note

Можно использовать GitHub CLI для добавления запроса на вытягивание в очередь слияния. Дополнительные сведения см. на вкладке "GitHub CLI" в верхней части этой статьи.

  1. На GitHubперейдите на главную страницу репозитория.

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

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

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

  4. Чтобы добавить запрос на вытягивание в очередь слияния, щелкните Объединить, когда будете готовы. Кроме того, если вы являетесь администратором, можно:

    • Напрямую объединяйте запрос на вытягивание, проверив слияние, не ожидая выполнения требований (обход защиты ветвей), если это разрешено параметрами защиты ветви, и следуйте стандартному потоку.

    Снимок экрана: параметры очереди слияния для запроса на вытягивание.

    Note

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

  5. Подтвердите добавление запроса на вытягивание в очередь слияния, щелкнув Подтвердить слияние по готовности.

С помощью GitHub CLIможно использовать gh pr merge команду для добавления запроса на вытягивание в очередь слияния. Если вы используете ветвь, требующую очередь слияния, эта команда автоматически добавляет запрос на вытягивание в очередь, если необходимые проверки прошли. Если необходимые проверки не прошли, эта команда включает автоматическое слияние для запроса на вытягивание. Дополнительные сведения см gh pr merge . в руководстве GitHub CLI.

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

Чтобы удалить запрос на вытягивание из очереди слияния, перейдите на страницу репозитория на GitHub.com. Невозможно использовать GitHub CLI для удаления запроса на вытягивание из очереди слияния.

  1. На GitHubперейдите на главную страницу репозитория.

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

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

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

  4. Чтобы удалить запрос на вытягивание из очереди, щелкните Удалить из очереди.

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

Кроме того, можно перейти на страницу очереди слияния для базовой ветви, щелкнуть ... возле запроса на вытягивание, который нужно удалить, и выбрать Удалить из очереди. Сведения о том, как открыть страницу очереди слияния для базовой ветви, см. в разделе ниже.

Просмотр очередей слияния

Очередь слияния для базовой ветви можно просмотреть в различных местах в GitHub. Невозможно использовать GitHub CLI для просмотра очереди слияния.

Очередь слияния для базовой ветви можно просмотреть в различных местах в GitHub.

  • На странице Ветви для репозитория. Рекомендуется использовать этот маршрут, если у вас нет запроса на вытягивание или вы не знаете о запросе, который уже есть в очереди, и если вы хотите узнать, что находится в этой очереди. Дополнительные сведения см. в разделе Просмотр ветвей в репозитории.

    Снимок экрана: страница "Ветви" для репозитория. Ссылка, помеченная как "33 запроса на вытягивание в очереди для слияния", описывается в темно-оранжевый цвет.

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

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

  • В представлении очереди слияния отображаются запросы на вытягивание, которые в настоящее время находятся в очереди. Ваши запросы на вытягивание явно помечены.

    Снимок экрана: очередь слияния.

Общие сведения о том, почему запрос на вытягивание был удален из очереди слияния

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