O type é responsável por nos dizer qual o tipo de alteração ou iteração está sendo feita, das regras da convenção, temos os seguintes tipos:
-
test(arquivo)
: indica qualquer tipo de criação ou alteração de códigos de teste.
Exemplo: Criação de testes unitários. -
feat(arquivo)
: indica o desenvolvimento de uma nova feature ao projeto.
Exemplo: Acréscimo de um serviço, funcionalidade, endpoint, etc. -
refactor(arquivo)
: usado quando houver uma refatoração de código que não tenha qualquer tipo de impacto na lógica/regras de negócio do sistema.
Exemplo: Mudanças de código após um code review -
style(arquivo)
: empregado quando há mudanças de formatação e estilo do código que não alteram o sistema de nenhuma forma.
Exemplo: Mudar o style-guide, mudar de convenção lint, arrumar indentações, remover espaços em brancos, remover comentários, etc.. -
fix(arquivo)
: utilizado quando há correção de erros que estão gerando bugs no sistema.
Exemplo: Aplicar tratativa para uma função que não está tendo o comportamento esperado e retornando erro. -
chore(arquivo)
: indica mudanças no projeto que não afetem o sistema ou arquivos de testes. São mudanças de desenvolvimento.
Exemplo: Mudar regras do eslint, adicionar prettier, adicionar mais extensões de arquivos ao .gitignore -
docs(arquivo)
: usado quando há mudanças na documentação do projeto.
Exemplo: adicionar informações na documentação da API, mudar o README, etc. -
build(arquivo)
: utilizada para indicar mudanças que afetam o processo de build do projeto ou dependências externas.
Exemplo: Gulp, adicionar/remover dependências do npm, etc. -
perf(arquivo)
: indica uma alteração que melhorou a performance do sistema.
Exemplo: alterar ForEach por while, melhorar a query ao banco, etc. -
ci(arquivo)
: utilizada para mudanças nos arquivos de configuração de CI.
Exemplo: Circle, Travis, BrowserStack, etc. -
revert(arquivo)
: indica a reverão de um commit anterior.
- Só pode ser utilizado um type por commit;
- O type é obrigatório;
- Caso esteja indeciso sobre qual type usar, provavelmente trata-se de uma grande mudança e é possível separar esse commit em dois ou mais commits;
https://medium.com/linkapi-solutions/conventional-commits-pattern-3778d1a1e657