Usando uma fila de merge

É possível aumentar a velocidade de desenvolvimento permitindo o merge das filas para pull requests no seu repositório.

People with admin permissions can configure merge queues for pull requests targeting selected branches of a repository.

Note: The pull request merge queue feature is currently in limited public beta and subject to change. Organizations owners can request early access to the beta by joining the waitlist.

Sobre a a fila de merge do pull request

Merge queues for pull requests can increase the rate at which pull requests are merged into a busy default branch, whilst ensuring that CI checks pass.

Merge queues use GitHub Actions. For more information about actions, see "GitHub Actions."

Once a pull request has passed any required checks and approvals, a contributor with write access can add the pull request to the merge queue. The queue then creates a temporary branch with that pull request and any pull requests ahead of it in the queue, and triggers any required continuous integration (CI) checks.

A fila de merge cria branches preparatórios temporários para validar pull requests com a versão mais recente do branch base. Para garantir que GitHub valide esses branches preparatórios, talvez você precise atualizar sua configuração de CI para acionar croações em nomes de ramificações que começam com gh/readonly/queue/{base_branch}.

Por exemplo, com GitHub Actions, adicionar a opção a seguir no fluxo de trabalho fará com que o fluxo de trabalho seja executado quando qualquer push for feito em um branch preparatório da fila de merge que tem o principal como destino.

on:
  push:
    branches:
    - gh/readonly/queue/main/**

Once CI checks pass, GitHub merges the pull request by fast-forwarding the default branch. The merge queue will use merge commits if the "Require linear history" branch protection setting is turned off, and the "Rebase and merge" method otherwise.

Para obter informações sobre métodos de merge, consulte "Sobre merges de pull requests". Para obter informações sobre a configuração de proteção do branch "Exigir histórico linear", consulte "Sobre branches protegidos".

Observação: durante o beta, existem algumas limitações ao usar a fila de merge:

  • A fila de mergenão pode ser habilitada nas regras de proteção do branch que usam curinga (*) no nome.
  • Não há suporte para os commits de merge de combinação por squash. (Somente commits de merge e commits de "rebase e merge" são compatíveis.)

If there are failed status checks or conflicts with the base branch, GitHub will remove the pull request from the queue. The pull request timeline will display the reason why the pull request has been removed from the queue.

Gerenciando a fila de merge do pull request

Os administradores de repositório podem configurar filas de merge para pull requests direcionando branches selecionados de um repositório. O requisito para usar uma fila de merge é uma configuração de proteção de branch denominado "Exigir fila de merge" que pode ser habilitado nas regras de proteção do branch.

Para obter informações sobre como habilitar a configuração de proteção de fila de merge, consulte "Gerenciando uma regra de proteção de branch. "

Leia mais

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.