O GitHub anunciou que os Stacked Pull Requests, ou pull requests empilhados, estão disponíveis em visualização pública. A funcionalidade permite que desenvolvedores dividam grandes mudanças de software em uma sequência de pull requests menores e interdependentes.
A proposta é facilitar a revisão de código, reduzir a carga cognitiva dos revisores e tornar o desenvolvimento incremental mais eficiente. Como a funcionalidade é integrada diretamente ao GitHub, as equipes podem adotar o novo fluxo sem depender de ferramentas externas de terceiros.
O desafio da revisão na era da IA
O lançamento aborda um dos gargalos mais importantes do desenvolvimento moderno: o descompasso entre a velocidade de geração de código e a capacidade humana de revisão.
# publicidade
Com a popularização dos assistentes e agentes de IA, a quantidade de código produzido pelos desenvolvedores aumentou significativamente. Isso transforma a revisão, que antes poderia ser uma etapa pontual do processo, em um potencial ponto de estrangulamento para a entrega de software.
Em vez de enviar um único Pull Request contendo milhares de linhas de código, os desenvolvedores podem organizar uma grande funcionalidade em uma sequência de pequenas alterações.
Dessa maneira, o revisor consegue concentrar sua atenção em mudanças específicas e relacionadas. Uma etapa pode introduzir uma nova API, enquanto outra altera o esquema do banco de dados e uma terceira implementa a lógica que utiliza essas mudanças.
Essa divisão reduz a carga cognitiva e facilita a identificação de problemas que poderiam passar despercebidos em um Pull Request muito extenso.
Melhoria no fluxo de trabalho e colaboração
A implementação de pull requests empilhados pelo GitHub não exige que as equipes adotem um workflow completamente novo. A proposta preserva recursos já utilizados nos projetos, como regras de proteção de branches, políticas de merge e processos de revisão.
Isso torna a adoção do desenvolvimento incremental mais natural para equipes que já utilizam o GitHub como parte central do ciclo de desenvolvimento.
A funcionalidade também pode melhorar o fluxo de trabalho dos próprios desenvolvedores. Em modelos tradicionais, uma funcionalidade grande pode ficar bloqueada até que todas as alterações sejam revisadas e integradas.
Com o empilhamento, é possível continuar trabalhando nas camadas seguintes enquanto as alterações fundamentais ainda estão sendo avaliadas. Isso permite reduzir conflitos de merge e diminuir os problemas associados a branches de longa duração que acabam ficando desatualizadas.
O conceito também favorece uma evolução mais organizada das funcionalidades. Cada Pull Request representa uma etapa específica da implementação, permitindo que a equipe acompanhe com maior clareza como uma mudança maior foi construída.
Contexto de mercado e o futuro do desenvolvimento
O conceito de stacked diffs já é utilizado por empresas de tecnologia, incluindo a Meta, mas a chegada do recurso diretamente ao GitHub coloca essa abordagem no centro de um dos maiores ecossistemas de desenvolvimento de software do mundo.
A integração nativa reduz a necessidade de ferramentas externas para gerenciar dependências entre branches e permite que as equipes incorporem o modelo ao fluxo de desenvolvimento existente.
A iniciativa também reflete uma mudança mais ampla no desenvolvimento de software. À medida que agentes de IA aumentam a velocidade de geração de código, o principal desafio deixa de ser apenas produzir mais código e passa a ser integrar, compreender, revisar e validar essas alterações de maneira segura e escalável.
Nesse cenário, processos de revisão estruturados e granulares se tornam cada vez mais importantes. Se a IA consegue produzir alterações em uma velocidade superior à capacidade humana de analisá-las, dividir essas mudanças em unidades menores pode ser uma das formas mais eficientes de manter o controle sobre a qualidade do software.
Os Stacked Pull Requests representam, portanto, mais do que uma nova forma de organizar branches. Eles fazem parte de uma transformação no processo de engenharia de software, na qual a capacidade de revisar e validar mudanças passa a ser tão importante quanto a capacidade de gerá-las.