gh-domino: Faça rebase dos seus Pull Requests empilhados
(github.com/134130)- Ferramenta de extensão do GitHub CLI que faz rebase automático de stacked PRs no GitHub
- Existem ferramentas excelentes como Graphite e stacked-pr, mas a barreira de entrada delas é alta demais
- Como ter que abrir Stacked PRs usando apenas essas ferramentas, e não o git
- Há opções demais nos arquivos de configuração locais
- Era necessária uma ferramenta de rebase muito simples, com zero configuração e usando apenas os recursos de PR do GitHub, então ela foi desenvolvida diretamente
Exemplo
Situação em que existem os seguintes Stacked PRs:
- #102 (main <- stack-1)
- #103 (stack-1 <- stack-2)
- #104 (stack-2 <- stack-3)
Depois de fazer merge do PR #102 em main, é preciso fazer rebase dos PRs #103 e #104.
- Mesmo a tarefa de fazer rebase de apenas dois PRs já é bastante incômoda,
- Na prática, quando o grafo fica complexo por motivos como commits adicionais entrando em #102, lembrar os comandos git para encontrar o pai comum vira algo bem trabalhoso
- Além disso, stacked PRs não são usados com tanta frequência; normalmente são necessários só de vez em quando, então é ainda mais fácil esquecer
Com o comando abaixo, é possível executar o rebase automático de forma simples:
gh domino --dry-run
gh domino [--auto]
Exemplos mais detalhados podem ser vistos no README.md.
2 comentários
Ué, eu achei que o GitHub fazia isso automaticamente, não faz?!
Se você usar o recurso safe delete branch oferecido pelo GitHub, a base branch é alterada automaticamente, mas no caso de squash merge, como não há relação no histórico do git, acaba entrando em estado de conflito!
Além disso, se você não usar o safe delete e apagar a branch manualmente pelo git, também existe o incômodo de ter que mudar a base branch por conta própria!