🚀 Aprenda Comigo #03: Padrões de Commit Semântico com Conventional Commits

Manter um histórico de commits claro e consistente faz toda a diferença na produtividade de uma equipe. Já se deparou com mensagens de commit como:

“ajustes”
“mais mudanças”
“bug conserta”

Esses títulos genéricos dificultam o entendimento do que realmente foi alterado, bloqueiam a automação de versionamento e tornam revisões muito mais lentas. Neste post, vamos aprender juntos como adotar padrões de commit semântico usando a Conventional Commits e o repositório commit-patterns como referência.

Por que usar commits semânticos?

  • Leitura rápida: fica fácil identificar se foi um bugfix, nova feature, ajuste de docs ou mesmo uma atualização de CI/CD.
  • Automação de versionamento: com ferramentas como Semantic Release, é possível gerar automaticamente versões (major/minor/patch) com base no tipo de commit.
  • Histórico autoexplicativo: futuros colaboradores entendem o contexto das mudanças sem precisar abrir o código.

Estrutura básica

Um commit semântico segue o padrão:

<tipo>[<escopo opcional>]: <descrição resumida>

[corpo opcional com detalhes]

[footer opcional com referências]
  • tipo: indica a natureza da mudança (feat, fix, docs etc.).
  • escopo: parte do sistema afetada (por exemplo: login, api, UI).
  • descrição: frase curta, ≤ 4 palavras.
  • body/footer: explicações, referências de issues ou códigos de revisão.

Tipos e descrições

TipoQuando usar
featNova funcionalidade (impacta versão minor)
fixCorreção de bug (impacta versão patch)
docsAtualizações em documentação
styleFormatação, estilo de código (sem alterar lógica)
refactorRefatoração sem mudança de comportamento
perfAjustes de performance
testInclusão ou modificação de testes
buildMudanças em build/configuração/dependências
ciAlterações em scripts/ações de CI/CD
choreTarefas administrativas (lint, .gitignore, etc.)
cleanupRemoção de código obsoleto ou comentado
removeExclusão de arquivos ou funcionalidades antigas
rawDados brutos ou grandes arquivos (por ex.: importação de dataset)

Recomendações

  • Comece com um emoji que represente o tipo de commit (opcional, mas torna a leitura mais intuitiva):
    • 🆕 feat
    • 🐛 fix
    • 📚 docs
    • ✨ perf
  • Mantenha o título em máximo 4 palavras.
  • Use o corpo para explicar impactos, motivos e links (issues, tickets).
  • No footer, inclua “Reviewed-by” e referências de tarefas (Jira, Trello).

Exemplos práticos

git commit -m "🆕 feat(auth): implementar login via OAuth2"

git commit -m "🐛 fix(api): corrigir timeout na rota /users" \
  -m "Ajustado o middleware para estender o timeout em operações pesadas" \
  -m "Reviewed-by: Ana Souza Refs #456"

git commit -m "📚 docs: atualizar guia de contribuição"

git commit -m "✨ perf(db): otimizar query de listagem de pedidos"

git commit -m "cleanup: remover funções antigas não utilizadas"

Conheça o repositório “commit-patterns”

No commit-patterns você encontra:

  1. Tabela de tipos e descrições
  2. Recomendações de boas práticas
  3. Adições de corpo e footer para compliance com processos de revisão
  4. Vários exemplos de comandos Git para adotar hoje mesmo

Adotar um padrão de commit semântico traz clareza, automação e facilita a colaboração. No próximo episódio da série 🚀 Aprenda Comigo, veremos como integrar essas convenções ao seu pipeline de CI/CD usando Semantic Release e GitHub Actions. Fique ligado!

© 2025 Ciro Cesar Maciel. Feito com café, código e curiosidade.
Powered byBlog logoBlogs