Conventional Commits

Gratuito DevTools

Gerador de Conventional Commits

Gere mensagens de commit padronizadas seguindo a especificacao Conventional Commits. Selecione o tipo, escopo, breaking change, body e footer — com preview em tempo real.

9.7k usuarios Atualizado em Mar 2026 4.9/5
Avalie esta ferramenta:
4.9 (1204 votos) Obrigado!
Gerador de Commit
Tipo do Commit
0/72
Preview
BREAKING CHANGE — Isso vai gerar um bump de versao MAJOR no SemVer
Selecione um tipo e preencha os campos...
Referencia de Tipos
Tipo SemVer Uso

Como Usar

Gere mensagens de commit profissionais em 4 passos.

1
Escolha o tipo
Selecione o tipo que melhor descreve a natureza da mudanca (feat, fix, docs...).
2
Preencha a descricao
Escreva uma descricao curta e imperativa do que foi alterado (max 72 chars).
3
Adicione detalhes
Opcionalmente adicione escopo, breaking change, body e footer.
4
Copie o commit
Clique em Copiar e use diretamente no terminal com git commit -m.

Sobre Conventional Commits

Conventional Commits e uma convencao leve para mensagens de commit que facilita a criacao de changelogs automaticos e a adocao de versionamento semantico (SemVer).

Formato basico: <tipo>[escopo opcional]: <descricao>

  • feat: nova funcionalidade — incrementa MINOR no SemVer
  • fix: correcao de bug — incrementa PATCH no SemVer
  • BREAKING CHANGE: mudanca incompativel — incrementa MAJOR no SemVer
  • Outros tipos (docs, style, refactor, test, chore) nao afetam a versao

Conventional Commits: O Padrao de Commits que Todo Desenvolvedor Deveria Usar

Neste artigo
  1. O que e Conventional Commits
  2. Formato e estrutura
  3. Os 11 tipos e quando usar cada um
  4. Relacao com SemVer
  5. Ferramentas que usam o padrao
  6. Perguntas frequentes

1. O Que E Conventional Commits

Conventional Commits e uma especificacao para padronizar mensagens de commit no Git, criada para tornar o historico de um repositorio legivel por humanos e parseavel por ferramentas automatizadas. Ao seguir o padrao, e possivel gerar changelogs, determinar bump de versao semantica e acionar pipelines de CI/CD de forma automatica.

O padrao foi criado inspirado na convencao de commits do AngularJS e hoje e adotado por projetos como Vue.js, Electron, Node.js e centenas de bibliotecas open source populares.

2. Formato e Estrutura

A estrutura completa de um commit convencional e:

tipo[escopo opcional]!: descricao

[body opcional]

[footer(s) opcionais]
  • tipo: define a natureza da mudanca (feat, fix, docs, etc.)
  • escopo: contexto da mudanca entre parenteses — ex: (api), (auth), (ui)
  • !: exclamacao antes dos dois pontos indica breaking change
  • descricao: resumo imperativo, presente, sem ponto final, max 72 chars
  • body: detalhes adicionais separados por linha em branco
  • footer: referencias a issues, co-autores, ou BREAKING CHANGE

3. Os 11 Tipos e Quando Usar Cada Um

A especificacao define apenas feat e fix como obrigatorios, mas a comunidade adotou 11 tipos padrao:

  • feat: nova funcionalidade visivel para o usuario final
  • fix: correcao de bug visivel para o usuario
  • docs: mudancas apenas em documentacao
  • style: formatacao, ponto-e-virgula, espacamento — sem mudanca de logica
  • refactor: reestruturacao de codigo sem nova feature ou correcao de bug
  • test: adicao ou correcao de testes
  • perf: mudanca que melhora performance
  • build: mudancas no sistema de build ou dependencias externas
  • ci: mudancas em configuracoes de CI/CD
  • chore: manutencao que nao se encaixa em outros tipos
  • revert: reverter um commit anterior

4. Relacao com SemVer

Conventional Commits mapeia diretamente para o versionamento semantico:

  • feat → bump MINOR (1.2.0 → 1.3.0)
  • fix, perf, revert → bump PATCH (1.2.0 → 1.2.1)
  • BREAKING CHANGE (qualquer tipo com !) → bump MAJOR (1.2.0 → 2.0.0)
  • Outros tipos → sem bump de versao

5. Ferramentas que Usam o Padrao

O ecossistema em torno de Conventional Commits e robusto:

  • semantic-release: automatiza release, changelog e publicacao no npm
  • commitlint: valida mensagens de commit em hooks do git
  • standard-version: bump de versao e changelog automaticos
  • conventional-changelog: gera CHANGELOG.md a partir do historico
  • husky: gerencia git hooks para rodar commitlint antes do commit

6. Perguntas Frequentes

Devo usar emojis nos commits?

E opcional. Alguns projetos usam emojis como prefixo visual (ex: gitmoji), mas a especificacao Conventional Commits nao exige nem proibe. O mais importante e a consistencia dentro do projeto.

Posso ter multiplos tipos num commit?

Nao. Cada commit deve ter apenas um tipo. Se voce fez uma correcao de bug e adicionou uma feature ao mesmo tempo, o recomendado e dividir em dois commits separados para manter o historico granular e o versionamento preciso.

O padrao funciona com branches de feature?

Sim. Conventional Commits funciona independente da estrategia de branching. Em projetos com squash merge, apenas o commit do merge precisa seguir o padrao. Em projetos sem squash, todos os commits devem seguir.