Repolode
github

github/gh-stack

Extensão da GitHub CLI para criar, rebasear, enviar e mesclar pull requests empilhados em uma cadeia de branches pequenas e fáceis de revisar.

Estrelas
1,747
Forks
96
Issues abertas
158
Último commit
há 3 dias

O que é?

gh-stack é uma extensão da GitHub CLI para trabalhar com pull requests empilhados, nos quais uma mudança grande é dividida em uma cadeia de branches pequenas, cada uma baseada na anterior. A base de cada PR é definida como a branch abaixo dela, para que os revisores vejam apenas as diferenças daquela camada.

A ferramenta cuida das tarefas rotineiras de uma pilha: criar branches, encadear rebases quando uma camada inferior muda, enviar branches, criar um PR por camada e vinculá-los como um Stack no GitHub. Também oferece comandos para navegar entre as camadas, reorganizar uma pilha por meio de uma interface de terminal (remover, agrupar, inserir, reordenar e renomear), sincronizar o estado após a mesclagem de PRs e mesclar vários PRs empilhados em uma única operação, que é concluída por inteiro ou não é aplicada.

Os metadados da pilha ficam armazenados localmente no diretório comum do Git, então worktrees vinculadas compartilham o mesmo catálogo. Conflitos durante o rebase pausam a operação, que pode ser retomada ou cancelada com flags específicas.

Recursos principais

  • 01Crie branches empilhadas e rebaseie toda a cadeia quando uma camada inferior mudar.
  • 02Envie um PR por branch, com as branches base corretas, e vincule-os como um Stack no GitHub.
  • 03Reorganize uma pilha em uma interface de terminal, removendo, agrupando, inserindo, reordenando ou renomeando branches.
  • 04Sincronize o estado da pilha com o GitHub e remova branches após a mesclagem dos PRs.
  • 05Mescle vários PRs empilhados até um PR escolhido, em uma única operação.
  • 06Compatível com Git worktrees vinculadas e com saída JSON para `gh stack view`.

Casos de uso

  • Dividir uma funcionalidade grande em PRs pequenos que os revisores possam aprovar camada por camada.
  • Atualizar uma camada intermediária da pilha após receber comentários de revisão, sem rebasear cada branch manualmente.
  • Mesclar uma sequência de PRs dependentes na ordem, de baixo para cima na pilha.

Início rápido

  1. 1

    Instale a extensão com o GitHub CLI

    gh extension install github/gh-stack
  2. 2

    Inicie uma nova pilha e faça checkout da primeira branch

    gh stack init
  3. 3

    Adicione outra branch à pilha

    gh stack add api-endpoints
  4. 4

    Abra uma pilha de pull requests

    gh stack submit

Em coleções

Tópicos

Perguntas frequentes

O que é gh-stack?
Extensão da GitHub CLI para criar, rebasear, enviar e mesclar pull requests empilhados em uma cadeia de branches pequenas e fáceis de revisar. gh-stack é uma extensão da GitHub CLI para trabalhar com pull requests empilhados, nos quais uma mudança grande é dividida em uma cadeia de branches pequenas, cada uma baseada na anterior. A base de cada PR é definida como a branch abaixo dela, para que os revisores vejam apenas as diferenças daquela camada.
gh-stack é gratuito? Qual é a licença?
gh-stack é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
gh-stack ainda é mantido?
Manutenção ativa. O último commit de gh-stack foi em 3 de nov. de 2026.
Para que posso usar gh-stack?
Dividir uma funcionalidade grande em PRs pequenos que os revisores possam aprovar camada por camada. Atualizar uma camada intermediária da pilha após receber comentários de revisão, sem rebasear cada branch manualmente. Mesclar uma sequência de PRs dependentes na ordem, de baixo para cima na pilha.
Como instalar gh-stack?
Instale a extensão com o GitHub CLI: gh extension install github/gh-stack Inicie uma nova pilha e faça checkout da primeira branch: gh stack init Adicione outra branch à pilha: gh stack add api-endpoints Abra uma pilha de pull requests: gh stack submit
Onde consigo gh-stack?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/github/gh-stack

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados