Skip to content
João Holanda edited this page May 12, 2022 · 4 revisions

Convenções para o commit

Neste documento utilizamos uma versão simplificada das recomendações do projeto Conventional Commits

Por que usar esta convenção:

  • Criação automatizada de CHANGELOGs.
  • Determinar automaticamente alterações no versionamento semântico (com base nos tipos de commits).
  • Comunicar a natureza das mudanças para colegas de equipe, o público e outras partes interessadas.
  • Disparar processos de build e deploy.
  • Facilitar a contribuição de outras pessoas, permitindo que eles explorem um histórico de commits melhor estruturado.

A mensagem do commit deve ser estruturada da seguinte forma:

<tipo>: <descrição>

[corpo opcional]

[rodapé(s) opcional(is)]

O commit contém os seguintes elementos estruturais:

Tipo

O tipo do commit é fundamental para comunicar a intenção do autor.

  • obrigatório
  • use apenas minúsculas
  • se a mudança provocar quebra de compatibilidade da API, deve ser usado o símbolo ! logo após o tipo ( ex: feat! ) e, se for necessário maior detalhamento, pode-se utilizar o rodapé.

Entre os tipos previstos estão os seguintes:

  • feat - nova funcionalidade para o usuário (MINOR).
  • fix - correção de erro para o usuário (PATCH).
  • cut - removing the capability or functions
  • perf - melhoria de performance (PATCH).
  • docs - mudança na documentação.
  • style - mudança em formatação, textos de mensagem etc.
  • build - mudanças no build, dependências externas ou outras mudanças irrelevantes para o usuário
  • ci - mudanças na configuração de arquivos e scripts de integração contínua
  • refactor - refatoração do código que não envolva correção de erro ou nova funcionalidade para o usuário, como renomear variáveis, mover arquivos etc.
  • test - adição ou modificação de testes que não envolvam mudança do código em produção.

Descrição

Uma breve descrição do commit

  • obrigatória
  • deve possuir apenas uma linha com 50 caracteres
  • use apenas minúsculas
  • deve ser seguido de uma linha branca, quando houver outros elementos

Corpo

Caso seja necessário dar uma explicação mais detalhada do commit

  • uma mensagem de texto livre
  • pode-se criar parágrafos, se necessário
  • é permitido o uso de maiúsculas para indicar início de parágrafo
  • deve começar depois de uma linha em branco após a descrição
  • deve ser seguido de uma linha branca, quando houver rodapé

Rodapé

Pode conter várias linhas, contendo informações como:

Closes #123, #456 Refs #789 BREAKING CHANGE: introduz uma modificação que quebra a compatibilidade do editor (MAJOR).