Aula 11 – Boas Práticas: A Arte do Commit
🎯 Objetivos de Aprendizagem
- Escrever mensagens de commit claras, úteis e profissionais.
- Entender e aplicar o conceito de Commit Atômico.
- Conhecer o padrão global Conventional Commits.
- Evitar erros comuns como commits gigantes ou mensagens vagas.
📚 Conteúdo
1. Mensagens que Contam Histórias
Cuidado com o "Hall da Vergonha" do histórico do Git: ajuste, teste, arrumando, final_v2. Isso não ajuda ninguém. O objetivo da mensagem de commit é explicar o porquê da mudança.
| ❌ Ruim | ✅ Bom | Motivo |
|---|---|---|
corrigido | fix: corrige erro no login | Explica o que foi feito. |
mais coisas | feat: adiciona botão de busca | Especifica a funcionalidade. |
lixo | refactor: limpa código morto | Indica uma melhoria técnica. |
A Regra do Imperativo
Escreva a mensagem como se estivesse dando uma ordem ao código: "Adiciona botão", "Remove ícone", "Corrige bug".
2. Commits Atômicos: O Superpoder da Reversão
Um commit deve fazer uma única coisa. Se você corrigiu um erro no rodapé e mudou a cor do cabeçalho, faça dois commits separados.
Commit Gigante
Misturar assuntos dificulta o Code Review e torna quase impossível reverter apenas uma parte da mudança se algo der errado.
3. Conventional Commits
Este é o padrão de mercado usado por grandes empresas e projetos Open Source:
feat:: Nova funcionalidade.fix:: Correção de bug.docs:: Alteração em documentação.style:: Formatação (espaços, ponto e vírgula) sem mudar lógica.refactor:: Melhoria de código que não altera o comportamento.test:: Adição ou correção de testes.
4. Ops, errei a mensagem! (git commit --amend)
Cometeu um erro de digitação no último commit? Não se desespere!
Cuidado
Nunca use o --amend em commits que você já enviou para o GitHub (push), pois isso reescreve o histórico e pode causar problemas para seus colegas.
📝 Prática
Exercícios de Fixação
Refine suas mensagens e aprenda a dividir suas tarefas em pequenas entregas. Ver Exercícios da Aula 11
Mini-Projeto
Padronizando o histórico do seu portfólio com Conventional Commits. Ver Projeto da Aula 11