Commit | Git
- Commit | Git
Mensagem do commit
- Tem que ser lida da seguinte maneira: "Se eu aplicar este commit ele vai ...". A mensagem do commit deve continuar a frase e nunca deve estar no passado
- Ex:
add support to multiple language
Descrição do commit
- Deve vir a motivação da implementação do código
Tipos de commit
1. feat (feature)
- Finalidade: Adicionar uma nova funcionalidade ao código.
- Exemplo:
feat: adicionar página de login
2. fix (bug fix)
- Finalidade: Corrigir um bug.
- Exemplo:
fix: corrigir erro no cálculo do total
3. docs (documentation)
- Finalidade: Alterar ou adicionar documentação. Não inclui mudanças de código.
- Exemplo:
docs: atualizar README com informações da API
4. style (formatação)
- Finalidade: Alterações que não afetam a lógica do código, como formatação, espaçamento, etc.
- Exemplo:
style: corrigir indentação e remover espaços em branco
5. refactor (refatoração)
- Finalidade: Alterar o código sem alterar sua funcionalidade, geralmente para melhorar a estrutura ou a legibilidade.
- Exemplo:
refactor: simplificar a função de validação de dados
6. perf (performance)
- Finalidade: Melhorar o desempenho do código.
- Exemplo:
perf: otimizar consulta ao banco de dados
7. test (testes)
- Finalidade: Adicionar ou corrigir testes.
- Exemplo:
test: adicionar testes unitários para o módulo de autenticação
8. build (build system)
- Finalidade: Alterações que afetam o sistema de build ou dependências externas (compiladores, pacotes, etc.).
- Exemplo:
build: atualizar dependências do projeto
9. ci (continuous integration)
- Finalidade: Alterações relacionadas à integração contínua e configuração de pipelines de automação.
- Exemplo:
ci: corrigir pipeline de integração contínua para Node.js
10. chore (tarefas menores)
- Finalidade: Outras mudanças que não se enquadram nos tipos anteriores, como atualizações de dependências ou tarefas de manutenção.
- Exemplo:
chore: atualizar pacotes npm
11. revert (reverter)
- Finalidade: Reverter um commit anterior.
- Exemplo:
revert: reverter commit abc123 por causar falhas no teste
12. hotfix (correção urgente)
- Finalidade: Correção crítica ou urgente no código.
- Exemplo:
hotfix: corrigir falha de segurança no login
Tipos de commits que afetam o número de versão:
-
feat(feature)- Impacto na versão: Incrementa o número MINOR (ex:
1.2.0→1.3.0). - Motivo: Uma nova funcionalidade, desde que não seja uma alteração incompatível (breaking change).
- Impacto na versão: Incrementa o número MINOR (ex:
-
fix(bug fix)- Impacto na versão: Incrementa o número PATCH (ex:
1.2.3→1.2.4). - Motivo: Correção de bugs sem adicionar novas funcionalidades.
- Impacto na versão: Incrementa o número PATCH (ex:
-
perf(performance)- Impacto na versão: Incrementa o número PATCH (ex:
1.2.3→1.2.4). - Motivo: Melhorias de performance geralmente são consideradas correções ou ajustes menores, a menos que causem mudanças incompatíveis.
- Impacto na versão: Incrementa o número PATCH (ex:
-
revert(reverter)- Impacto na versão: Pode incrementar o número PATCH, mas depende do que está sendo revertido.
- Motivo: Reverter um commit pode ser tratado como uma correção.
-
hotfix(correção urgente)- Impacto na versão: Incrementa o número PATCH (ex:
1.2.3→1.2.4). - Motivo: Hotfixes são correções rápidas de bugs.
- Impacto na versão: Incrementa o número PATCH (ex:
Alterações que podem afetar o número MAJOR:
Se qualquer um desses commits (especialmente feat, fix ou perf) introduz uma alteração incompatível (breaking change), ele pode aumentar o número MAJOR da versão (ex: 2.0.0).
- Exemplo: Se um commit de
featintroduzir uma nova funcionalidade que quebra a compatibilidade com versões anteriores, o número MAJOR será incrementado (ex:1.2.0→2.0.0).
Tipos de commits que não afetam o número de versão:
docsstylerefactor(sem mudanças incompatíveis)testbuildcichore