Introdução
Para a padronização de commits, utilizamos os padrões "Semantic Versioning" e "Conventional Commits", que segue algumas regras.
Número de versões - Semantic Versioning
- Major: Grandes alterações, como mudanças nas regras de negócios, funcionalidades importantes ou quebra de compatibilidade com versões anteriores
- Minor: Alterações ou novas funcionalidades menores, que mantém compatibilidade com versões anteriores
- Patch: Correções de erros
Mensagens de commits - Conventional Commits
Estrutura
Com os objetivos de melhorar a visibilidade de alterações e padronizar as mensagens de commits, utilizamos a seguinte estrutura:
<tipo (Escrito em letras maiúsculas)>: Descrição das alterações
Corpo com mais detalhes (opcional)
Footer com notas úteis (opcional)
Tipos
Os tipos que podemos utilizar são:
- Build – Mudanças no sistema de build ou dependências externas (gulp, npm)
- Chore – Mudança interna (Atualização ou adição de dependências, alteração em configurações de Linters, etc)
- Docs – Mudanças em documentação, README, Changelog, etc.
- Feat – Nova funcionalidade (feature)
- Fix – Conserto de bugs e problemas
- Perf – Mudança(s) para aumento de performance
- Refactor – Mudança(s) de código que não conserta bugs nem adicionam nova funcionalidade.
- Style – Mudança(s) que não afetam o significado do código (espaços em branco, formatação, etc.) ou estilos no front-end
- Test – Adição ou correção de testes
- BREAKING CHANGE – Mudança(s) maiores, que tiram a compatibilidade com versões anteriores.
Dica
É possível também utilizar emojis antes do tipo para expressar melhor a intenção do commit, como ✨ (:sparkles:) para FEAT, 🔨 (:hammer:) para FIX, entre outros.
Este detalhe é totalmente opcional.
Para ver todos os emojis possíveis, acesse o Repositório do Gitmoji
Exemplos
- FEAT
- FIX
- REFACTOR
✨ FEAT: Nova funcionalidade
FEAT: Novo método
FEAT: Novo método
🔨 FIX: Correção de bug
FIX: Tratamento de erro
FIX: Tratamento de erro
♻️ REFACTOR: Refatoração de método
REFACTOR: Limpeza de código
REFACTOR: Limpeza de código