Um commit gigante com a mensagem “várias mudanças” é uma dívida que você paga depois, geralmente às 2 da manhã procurando o que quebrou a produção.
Um commit, uma ideia
A regra é simples: cada commit deve representar uma mudança lógica completa. Se a mensagem precisa da palavra “e”, provavelmente são dois commits.
❌ corrige login e refatora header e atualiza deps
✅ fix: corrige redirecionamento após login
✅ refactor: extrai lógica do header para um hook
✅ chore: atualiza dependências
Por que importa
- Revisão mais fácil: ninguém revisa bem um diff de 800 linhas. Mas um de 40, sim.
git bisectfunciona: se cada commit é atômico e deixa o código funcionando, achar o que introduziu um bug leva minutos.git revertcirúrgico: você desfaz uma mudança sem arrastar outras três.- Histórico legível: o log vira a narrativa de como o projeto cresceu.
A mensagem também conta
Use o imperativo e explique o porquê, não o quê (o diff já diz o que mudou):
fix: evita duplo submit no formulário de pagamento
O botão não era desabilitado durante a requisição, permitindo
cobranças duplicadas se o usuário clicasse duas vezes.
Commits pequenos não te atrasam. Eles economizam as horas que você perderia depurando às cegas.