
Manter um histórico de commits limpo, padronizado e informativo é essencial para a manutenção e evolução de qualquer projeto de software. Um bom histórico facilita revisões, colaboração entre equipes, geração de changelogs e automatização de processos. Vamos ver um dos padrões mais utilizados para nomenclatura de commits: o Conventional Commits.
Por que padronizar os commits?
- Facilita a compreensão das mudanças por outros desenvolvedores.
- Ajuda na geração automática de changelogs.
- Torna o processo de code review mais eficiente.
- Permite criar releases semânticas (semver) de forma automatizada.
- Melhora a rastreabilidade das funcionalidades e correções.

Padrão de Nomenclatura
A estrutura de um commit segue o seguinte formato:
<tipo>: <descrição breve>
Exemplo:
feat: adiciona validação de permissão para atualização de preços
Tipos de Commits
Abaixo os tipos mais comuns de tags:
| Tipo | Descrição |
|---|---|
| feat | Introdução de uma nova funcionalidade no sistema. |
| fix | Correção de um bug ou comportamento inesperado. |
| docs | Mudanças na documentação apenas, sem código executável. |
| style | Ajustes de estilo e formatação (espaços, indentacão, etc), sem alteração de funcionalidade. |
| refactor | Refatoramento do código, sem mudança de comportamento externo. |
| test | Inclusão ou modificação de testes automatizados. |
| chore | Tarefas auxiliares como scripts de build, configuração de ferramentas, etc. |
| perf | Otimização de performance e eficiência do código. |
| ci | Mudanças em configuração de integração contínua (CI/CD). |
| build | Ajustes em arquivos de build e dependências externas. |
| temp | Commits temporários usados durante o desenvolvimento, que não devem ser incluídos em changelogs. |
Boas Práticas Gerais
- Commits pequenos e objetivos: Evite commits com muitas mudanças não relacionadas.
- Descrição clara: A mensagem deve ser concisa, mas descritiva o suficiente.
- Use o imperativo: Como se estivesse dando uma ordem: “corrige bug”, “adiciona feature”.
- Evite mensagens genéricas: Exemplo: “update”, “fixes”, “ajustes” sem contexto.
- Commits organizados por tipo ajudam na revisão de PRs e changelogs.
Ferramentas Recomendadas
- Commitlint: valida mensagens de commit com base no padrão.
- Husky: integra hooks para validar commits antes de serem feitos.
Considerações Finais
Padronizar seus commits é um passo simples, mas poderoso para melhorar a qualidade do código, facilitar a manutenção e colaborar melhor em equipe. Se você ainda não aplica esse modelo, vale a pena começar hoje mesmo.
Referências:
- https://www.conventionalcommits.org/pt-br/v1.0.0/
- https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-format
- https://www.freecodecamp.org/news/writing-good-commit-messages-a-practical-guide/
Ficou com dúvidas ou quer compartilhar sua experiência com padrões de commits? Deixe seu comentário!