Muitos desenvolvedores têm o hábito de utilizar apenas o comando git commit -m seguido de uma mensagem genérica. No entanto, para projetos profissionais e colaborativos, é fundamental adotar uma metodologia que organize e categorize as alterações, facilitando a leitura do histórico e a manutenção do software.

📐 A metodologia Conventional Commits

Baseado em padrões como o do Angular, o Conventional Commits é uma metodologia que ajuda a categorizar cada alteração de forma clara. A estrutura básica envolve identificar o tipo de mudança (como uma nova funcionalidade ou uma correção) antes da mensagem principal.

Estrutura: <tipo>: <resumo no imperativo>

Os tipos mais comuns utilizados são:

Tipo Quando usar
feat Para novas funcionalidades.
fix Para correções de bugs.
docs Para alterações apenas na documentação.
style Para alterações que não afetam o sentido do código (espaços em branco, formatação, ponto e vírgula faltando, etc.).
refactor Para alterações no código que não corrigem bugs nem adicionam funcionalidades.
perf Para mudanças de código que melhoram o desempenho.
test Para adição ou correção de testes.
chore Para atualizações de tarefas de build, configurações de ferramentas ou bibliotecas auxiliares.

✍️ A regra de ouro do título

Ao escrever o título do commit, você deve sempre seguir uma lógica gramatical: a mensagem deve completar a frase "Se eu aplicar este commit, ele vai...". Por esse motivo:

feat: add support to spanish on uploads

💡 O "porquê" e o "o quê": o poder da descrição

Enquanto o título resume a ação, a descrição do commit é o espaço para detalhar a motivação e o conteúdo técnico da alteração.

Escrever esse corpo é inviável dentro de um git commit -m. Mostro como resolver isso no artigo sobre configurar o VS Code como editor padrão de commits.

🌎 Idioma e consistência

Embora nomes de variáveis devam ser preferencialmente em inglês, a mensagem de commit não precisa seguir essa regra obrigatoriamente. Se o seu time é brasileiro, o software é voltado para o mercado nacional e a equipe se sente mais confortável em português, não há problema em manter os commits no idioma nativo. O objetivo principal é a comunicação clara entre os membros do time.

🔄 Fluxo de trabalho

Após realizar um commit bem estruturado, o processo ideal segue para a abertura de um Pull Request (PR). Isso permite que o código seja revisado por outros membros da equipe antes de ser incorporado à branch principal (main), garantindo a qualidade e a integridade do projeto.

Dica extra
Um bom commit deve ser informativo o suficiente para que, no futuro, qualquer desenvolvedor consiga entender o motivo de aquela alteração ter sido feita sem precisar decifrar o código-fonte.