Software e IA para executivos · Capítulo 25 de 41 · 6 min
Escolher como juntar mudanças pensando na auditoria de um ano depois
Merge, rebase e squash deixam históricos diferentes; a escolha certa mantém a reversão barata e a trilha legível um ano depois.
Este capítulo faz parte do curso gratuito Software e IA para executivos.
Reverter uma entrega ruim numa segunda-feira depende de saber, sem arqueologia, o que exatamente voltou.
Merge, rebase e squash são três formas de incorporar uma mudança à linha principal, e cada uma produz um histórico diferente. Essa escolha decide o que a sua empresa consegue auditar daqui a um ano.
Na prática, o merge integra linhas de trabalho e pode preservar um ponto de junção. Rebase reaplica mudanças sobre outra base e gera novos identificadores.
Squash reúne mudanças em um commit, registro de uma versão. O código final só será equivalente se mudanças e conflitos forem resolvidos da mesma forma. A história preservada é diferente, e nenhuma escolha garante reversão simples de dados ou efeitos externos.
O critério que decide na prática é um só. Se outra pessoa já baixou aquela linha de trabalho, reescrever a história transfere para o dia dela o custo da sua limpeza.
É como refazer os nós de um cordão que outras três pessoas seguram. O fio fica reto na sua mão, e as etiquetas que elas seguravam deixam de existir.
A ponta dessa história é a release, o pacote identificado por versão que a empresa consegue anunciar e reverter como unidade. A marca que aponta para ela, chamada de tag, nasce uma vez e não se mexe.
Mover uma tag equivale a apagar um número de patrimônio e reusá-lo em outro item. Release que respeita a regra permite voltar atrás com confiança; release que fura vira trabalho de auditoria.
O que merge, rebase ou squash faz com o histórico
| Critério | Merge | Rebase | Squash |
|---|---|---|---|
| Histórico resultante | Não linear, com commit de merge | Linear, sem commit de merge | Linear, um commit por feature |
| Preserva commits originais | Sim | Sim, mas com hashes novos | Não, combina tudo |
| Risco de quebrar trabalho de outros | Baixo | Alto quando a branch já é pública | Baixo |
| Facilidade para reverter a feature | Média | Média | Alta |
| Recomendado para | Times grandes, branches longas | Branches pessoais, antes do PR | Times que querem main enxuta |
A linha de risco decide sozinha na maior parte dos casos. Rebase em branch que outra pessoa já baixou reescreve hashes que ela tem localmente, e o conserto custa mais caro do que o histórico bonito que se queria.
Isso vira um critério de contratação: prefira o time que exibe histórico legível de decisões ao time que exibe volume de commits.
Na reunião de incidente, o histórico legível responde em minutos o que entrou junto com a mudança que quebrou o sistema. O histórico bagunçado transforma a mesma pergunta em meio dia de investigação, com o cliente esperando.
Teste a reversão antes de precisar dela, com uma entrega que já está no ar. Escolha uma publicada no último mês, de preferência uma que tenha mexido em mais de um lugar do produto.
Pergunte quanto tempo levaria para desfazer só aquela entrega e quem executaria a operação. Resposta que começa com depende costuma indicar que a mudança entrou junto com outras e não sai sozinha. Pergunte também qual estratégia de integração o time usa e por quê, porque a justificativa importa mais que a escolha e precisa citar quem mais lê aquele histórico.
Se você guardar só cinco palavras, guarde estas. Branch: a linha paralela onde a mudança nasce. Pull request: o pedido para incorporá-la. Diff: a lista do que mudou linha a linha. Merge: o momento em que a mudança passa a valer para o cliente. Release: o pacote que a empresa anuncia e reverte.
Você decide o teto de linhas que a empresa aceita revisar de uma vez, e a exigência de revisor diferente do autor. As duas cabem numa regra do repositório.
O time decide entre merge, rebase e squash, desde que a reversão continue barata e o histórico continue legível.
Essa é a decisão que cabe a você. Peça por escrito, na renovação do contrato, a conta que hospeda o repositório, a lista de quem pode publicar e o registro de revisão das últimas dez entregas. Se alguma delas entrou sem revisor diferente do autor, a regra do repositório ainda não barra.
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
O mesmo assunto em outros cursos
- Engenharia de Software para ExecutivosGuardar a memória do sistema quando as pessoas saemExaminar conexões de Guardar a memória do sistema quando as pessoas saem
- SO nativo de IAUm departamento por vezExaminar conexões de Um departamento por vez
- RAG em produçãoOnde recuperar deixa de ser o caminho, e o que fazer na segunda-feiraExaminar conexões de Onde recuperar deixa de ser o caminho, e o que fazer na segunda-feira
- Do Agile ao Agentic Operating ModelParar de aprovar esforço e passar a aprovar entrega provadaExaminar conexões de Parar de aprovar esforço e passar a aprovar entrega provada
Voltar ao capítulo anterior: Revisar a entrega pela lista do que mudou linha a linha
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.
Capítulos vizinhos em Software e IA para executivos
- 23Pedir a trilha de quem propôs, revisou e aprovou cada mudança
- 24Revisar a entrega pela lista do que mudou linha a linha
- 25Escolher como juntar mudanças pensando na auditoria de um ano depois
- 26Pagar pela camada de teste que pega o defeito certo
- 27Ler o painel de engenharia pelas cinco métricas juntas