Skip to content
Latchkey

O Que É um Conventional Commit?

Um conventional commit é um commit cuja mensagem segue um formato estruturado, como um prefixo de tipo e uma descrição, para que ferramentas e pessoas possam interpretar a intenção.

Conventional Commits é uma convenção leve para escrever mensagens de commit de forma consistente e legível por máquina. Ao começar cada mensagem com um tipo como feat ou fix, as equipes tornam o histórico mais fácil de percorrer e, o que é crucial, permitem que ferramentas automatizem o versionamento e os changelogs.

O formato

Uma mensagem de conventional commit começa com um tipo, um escopo opcional entre parênteses, dois-pontos e uma descrição curta. Tipos comuns incluem feat para uma funcionalidade, fix para uma correção de bug, docs, refactor, test e chore. Um corpo e um rodapé opcionais podem adicionar detalhes ou sinalizar breaking changes.

Uma mensagem de conventional commit

A estrutura é fácil de escrever assim que vira hábito.

Conventional commit messages
git commit -m "feat(auth): add password reset flow"
git commit -m "fix(api): handle empty response body"

Por que a estrutura ajuda

Um formato consistente torna o histórico legível num relance e permite que ferramentas raciocinem sobre ele. O tipo informa a natureza de cada mudança, os escopos agrupam trabalhos relacionados e uma breaking change marcada sinaliza um incremento de versão maior. As pessoas também se beneficiam: o log se lê como um registro claro e categorizado.

Conventional commits em CI/CD

Ferramentas de release automatizadas leem as mensagens de conventional commit para decidir a próxima versão e gerar changelogs. Um fix produz um incremento de patch, um feat um incremento minor e uma breaking change um incremento major, tudo sem edições manuais de versão. Isso transforma a disciplina de commit em um pipeline de release totalmente automatizado.

Adotando a convenção

  • Comece cada mensagem com um tipo como feat, fix ou docs.
  • Adicione um escopo para agrupar mudanças por área quando for útil.
  • Marque breaking changes para que as ferramentas incrementem a versão major.
  • Combine com uma ferramenta de release para automatizar o versionamento a partir do histórico.

Principais conclusões

  • Um conventional commit segue um formato de mensagem estruturado e interpretável.
  • Prefixos de tipo como feat e fix comunicam a natureza de uma mudança.
  • Ferramentas de release os leem para automatizar o versionamento e os changelogs.

Guias relacionados