Skip to main content

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:

  1. feat (feature)

    • Impacto na versão: Incrementa o número MINOR (ex: 1.2.01.3.0).
    • Motivo: Uma nova funcionalidade, desde que não seja uma alteração incompatível (breaking change).
  2. fix (bug fix)

    • Impacto na versão: Incrementa o número PATCH (ex: 1.2.31.2.4).
    • Motivo: Correção de bugs sem adicionar novas funcionalidades.
  3. perf (performance)

    • Impacto na versão: Incrementa o número PATCH (ex: 1.2.31.2.4).
    • Motivo: Melhorias de performance geralmente são consideradas correções ou ajustes menores, a menos que causem mudanças incompatíveis.
  4. 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.
  5. hotfix (correção urgente)

    • Impacto na versão: Incrementa o número PATCH (ex: 1.2.31.2.4).
    • Motivo: Hotfixes são correções rápidas de bugs.

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 feat introduzir uma nova funcionalidade que quebra a compatibilidade com versões anteriores, o número MAJOR será incrementado (ex: 1.2.02.0.0).

Tipos de commits que não afetam o número de versão:

  • docs
  • style
  • refactor (sem mudanças incompatíveis)
  • test
  • build
  • ci
  • chore