Skip to main content
Skip to content

Início Rápido para pull requests empilhados

Instale a gh stack extensão GitHub CLI e crie seu primeiro conjunto de pull requests empilhados.

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.
    • Autentique GitHub CLI com gh auth login.
  • Um GitHub repositório para o qual você pode enviar por push.

Instalar a extensão da CLI

Shell
gh extension install github/gh-stack

Dica

Para usar pull requests empilhados com agentes de codificação de IA, como GitHub Copilot, instale a habilidade gh-stack.

Shell
gh skill install github/gh-stack

Criar sua primeira stack

  1. Para inicializar uma stack, navegue até o repositório e execute o comando a seguir. Isso cria uma entrada de acompanhamento e sua primeira branch.

    Shell
    gh stack init
    

    Você será solicitado a nomear seu primeiro branch. Por padrão, a pilha usa o branch padrão do repositório (por exemplo, main) como o ramo principal, mas uma pilha pode ser direcionada a qualquer branch.

  2. Trabalhe em sua primeira branch como de costume: escreva código, prepare alterações e faça commit.

    # ... write code ...
    git add .
    git commit -m "helpful-commit-message"
    
  3. 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"
    
  4. Efetue push de todos os branches para o remoto.

    Shell
    gh stack push
    
  5. Crie solicitações de pull e vincule-as como uma pilha em GitHub.

    Shell
    gh stack submit
    

    Cada pull request é criado com o branch base correto. Sua primeira ramificação aponta para main, e a próxima ramificação BRANCH-NAME aponta para a primeira ramificação. Os revisores verão apenas o diff para essa camada. As solicitações de pull são vinculadas automaticamente como uma pilha em GitHub e você pode ver sua ordem e navegar rapidamente entre elas.

  6. Exiba a pilha e veja o estado completo a qualquer momento.

    Shell
    gh stack view
    

    Esse comando mostra todos os branches, seus links de pull request, status e o commit mais recente em cada um.

  7. Use o comando gh stack add -Am "MESSAGE" para colocar todas as alterações em stage, confirmar e criar a próxima branch em uma etapa. Você não precisará de um separado git add ou git commit. Se o branch atual ainda não tiver commits, o commit será feito nesse branch; se ele já tiver commits, 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"
    
  8. Quando estiver pronto, faça push de tudo e crie os pull requests.

    Shell
    gh stack submit
    

Próximas Etapas