Pull requests empilhados são mesclados da parte inferior (mais próxima da branch principal) para cima.
- Você pode mesclar qualquer número de pull requests de uma só vez, desde que elas formem um grupo contíguo a partir da pull request não mesclada mais baixa.
- Você não pode mesclar um pull request de pilha intermediária isoladamente, os pull requests abaixo dele sempre serão mesclados com ele.
Requisitos de mesclagem
A caixa de mesclagem de um pull request empilhado mostra o status de toda a pilha, não apenas o pull request atual. Antes que uma pull request na pilha possa ser incorporada, o seguinte deve ser verdadeiro:
- Todas as solicitações de pull abaixo dela são aprovadas e têm verificações aprovadas.
- A pilha tem um histórico linear.
- O pull request atual atende a todos os requisitos de proteção de ramificação para a base da pilha, como
main.
Se a pilha não for linear, por exemplo, depois que as alterações forem enviadas por push para um branch inferior ou depois que o tronco for movido para frente, o botão Rebase stack aparecerá na caixa de mesclagem e você precisará rebasear a pilha antes de mesclar. Fazer rebase da stack gerará commits assinados e manterá as aprovações se um diff não tiver sido alterado, mesmo se você tiver a regra dismiss stale approvals habilitada.
Observação
- Se você mesclar por meio da API e quiser usar pull requests em pilha, precisará usar a API de mesclagem assíncrona para pilhas. Consulte Endpoints da API REST para solicitações de pull.
- Não há suporte para mesclagem automática para pull requests empilhados.
Mesclar usando uma fila de mesclagem
Stacks dão suporte total a filas de merge. Todas as pull requests na pilha são adicionadas à fila na ordem correta. Se uma solicitação de pull for removida ou ejetada da fila, todas as solicitações de pull acima dela na pilha também serão removidas.
Observação
Para manter uma pilha unida, a fila de mesclagem permite que o grupo de mesclagem exceda seu tamanho máximo configurado em até 50%. Se a pilha for muito grande para caber dentro desse buffer, ela será colocada automaticamente no próximo grupo de mesclagem como uma única unidade.
Mesclando de baixo para cima
-
Navegue até a pull request não mesclada mais baixa na pilha ou para uma pull request mais alta se você quiser mesclar um grupo contíguo até esse ponto.
-
Confirme se a pull request e todas as pull requests abaixo dela atendem aos requisitos para mesclagem.
-
Mescle a pull request. A pull request selecionada e todas as pull requests não mescladas abaixo dela são mescladas na branch base juntas como uma única operação, ordenada de baixo para cima no histórico resultante.
Após a mesclagem, a próxima pull request não mesclada recebe rebase automaticamente para ter como destino diretamente a base da pilha, para que ela se mova para a parte inferior e esteja pronta para revisão e mesclagem.
Depois que cada pull request em uma pilha for mesclado, a pilha será concluída e não poderá ser estendida. Se você adicionar novos branches na parte superior e executar gh stack submit, GitHub CLI iniciará automaticamente uma nova pilha enraizada no trunk para esses branches.