Observação
This feature is in public preview and subject to change.
Use solicitações de pull empilhadas para interromper grandes alterações de código em uma cadeia de solicitações de pull menores e dependentes que você pode examinar e mesclar independentemente.
Uma pilha é uma série de solicitações de pull no mesmo repositório em que cada solicitação de pull direciona o branch da solicitação de pull abaixo dela, formando uma cadeia ordenada que cai em um único branch, normalmente seu branch principal. Em vez de uma solicitação de pull grande, você obtém um conjunto de solicitações de pull menores. Como cada solicitação de pull tem sua própria diferença de foco, os colegas de equipe podem examinar e aprovar cada camada de forma independente.
Prerequisites
- GitHub CLI (
gh) 2.90.0 ou posterior e Git 2.20 ou posterior.- Autenticar GitHub CLI com
gh auth login.
- Autenticar GitHub CLI com
- Um GitHub repositório para o qual você pode enviar por push.
Instalar a extensão da CLI
gh extension install github/gh-stack
gh extension install github/gh-stack
Dica
Para usar solicitações de pull empilhadas com agentes de codificação de IA, como GitHub Copilot, instale a gh-stack habilidade.
gh skill install github/gh-stack
gh skill install github/gh-stack
Criar sua primeira pilha
-
Para inicializar uma pilha, navegue até o repositório e execute o comando a seguir. Isso cria uma entrada de acompanhamento e sua primeira ramificação.
Shell gh stack init
gh stack initVocê será solicitado a nomear sua primeira ramificação. Por padrão, a pilha usa o branch padrão do repositório (por exemplo,
main) como o tronco, mas uma pilha pode ser direcionada a qualquer branch. -
Trabalhe em sua primeira ramificação como de costume: escrever código, preparar alterações e confirmar.
# ... write code ... git add . git commit -m "helpful-commit-message" -
Quando estiver pronto para a próxima unidade lógica de trabalho, adicione um novo branch à parte superior da pilha.
Shell gh stack add BRANCH-NAME # ... write code ... git add . git commit -m "Another-helpful-commit-message"
gh stack add BRANCH-NAME # ... write code ... git add . git commit -m "Another-helpful-commit-message" -
Efetue push de todos os branches para o remoto.
Shell gh stack push
gh stack push -
Crie solicitações de pull e vincule-as como uma pilha.GitHub
Shell gh stack submit
gh stack submitCada solicitação de pull é criada com o branch base correto. Sua primeira ramificação é direcionada
maine a próxima ramificaçãoBRANCH-NAMEtem como destino a primeira ramificação. Os revisores verão apenas a diferença para essa camada. As solicitações de pull são vinculadas automaticamente como uma pilha e GitHub você pode ver sua ordem e navegar rapidamente entre elas. -
Exiba a pilha e veja o estado completo a qualquer momento.
Shell gh stack view
gh stack viewEsse comando mostra todos os branches, seus links de solicitação de pull, status e a confirmação mais recente em cada um.
-
Use
gh stack add -Am "MESSAGE"para preparar todas as alterações, confirmar e criar a próxima ramificação em uma etapa. Você não precisará de um separadogit addougit commit. Se o branch atual ainda não tiver confirmações, a confirmação chegará lá; se ele já tiver confirmações, um novo branch será criado.# Commit lands on the current branch gh stack add -Am "Auth middleware" # Current branch already has commits, so this creates the next branch gh stack add -Am "API routes" -
Quando estiver pronto, envie tudo por push e crie as solicitações de pull.
Shell gh stack submit
gh stack submit