Hoje é 22/09/21 - Dia da Juventude; Dia do Amante; Dia do Contador; Dia Mundial de Combate ao Mau Hálito; Início da Primavera;


30/04/2020
Commits Semânticos

Tipo de notícia: Desenvolvimento

A especificação do Conventional Commits é uma convenção simples para utilizar nas mensagens de commit. Ela define um conjunto de regras para criar um histórico de commit explícito, o que facilita a criação de ferramentas automatizadas.

Commit semântico ou conventional commit, em sua especificação formal, é uma das formas que a gente pode fazer padronização de commits dentro do nosso projeto utilizando de regras bem simples, que apesar de introduzirem um pouco de overhead, ele é ainda menor quando utilizando ferramentas como commitzen e git blame no seu editor. Essa padronização vai contribuir para que reduzamos o tempo gasto em compreender como e por que algo foi feito apenas olhando pelo histórico do git.

Os Tipos se resumem em feat, fix, refactor, style, chore, doc e test

Especificação

As palavras-chaves “DEVE” (“MUST”), “NÃO DEVE” (“MUST NOT”), “OBRIGATÓRIO” (“REQUIRED”), “DEVERÁ” (“SHALL”), “NÃO DEVERÁ” (“SHALL NOT”), “PODEM” (“SHOULD”), “NÃO PODEM” (“SHOULD NOT”), “RECOMENDADO” (“RECOMMENDED”), “PODE” (“MAY”) e “OPCIONAL” (“OPTIONAL”), nesse documento, devem ser interpretados como descrito na RFC 2119.

  1. A mensagem de commit DEVE ser prefixado com um tipo, que consiste em um substantivo, feat,fix, etc., seguido por um escopo OPCIONAL, e OBRIGATÓRIO terminar com dois-pontos e um espaço.
  2. O tipo feat DEVE ser usado quando um commit adiciona um novo recurso ao seu aplicativo ou biblioteca.
  3. O tipo fix DEVE ser usado quando um commit representa a correção de um problema em seu aplicativo ou biblioteca.
  4. Um escopo PODE ser fornecido após um tipo. Um escopo DEVE consistir em um substantivo que descreve uma seção da base de código entre parênteses, por exemplo, fix(parser):
  5. Uma descrição DEVE existir depois do espaço após o prefixo tipo/escopo. A descrição é um breve resumo das alterações de código, por exemplo, fix: problema na interpretação do array quando uma string tem vários espaços.
  6. Um corpo de mensagem de commit mais longo PODE ser fornecido após a descrição curta, fornecendo informações contextuais adicionais sobre as alterações no código. O corpo DEVE começar depois de uma linha em branco após a descrição.
  7. Um rodapé de uma ou mais linhas PODE ser fornecido depois de uma linha em branco após o corpo. O rodapé DEVE conter informações adicionais sobre o commit, por exemplo, pull-requests, revisores, modificações que quebram a compatibilidade, com uma informação adicional por linha.
  8. A modificação que quebra a compatibilidade DEVE ser indicadas logo no início da seção do corpo ou no início de uma linha na seção de rodapé. Uma modificação que quebra a compatibilidade DEVE consistir de um texto em maiúsculas BREAKING CHANGE, seguido por dois-pontos e um espaço.
  9. Uma descrição DEVE ser fornecida após o texto “BREAKING CHANGE:“, descrevendo o que mudou na API, por exemplo, BREAKING CHANGE: as variáveis de ambiente agora têm preferência sobre os arquivos de configuração.
  10. Além de feat e fix, outro tipo PODE ser usados em suas mensagens de commit.
  11. Cada bloco de informação que compõem o commit convencional NÃO DEVE ser tratado como sensível a maiúscula e minúscula pelos implementadores, com exceção de BREAKING CHANGE, que DEVE ser maiúscula.
  12. Um ! PODE ser acrescentado antes do : no prefixo tipo/escopo, para chamar a atenção para modificações que quebram a compatibilidade. BREAKING CHANGE: description também DEVE ser incluído no corpo ou no rodapé, junto com o ! no prefixo.

 

Referências

https://www.conventionalcommits.org/pt-br

https://blog.cubos.io/que-tal-comecar-a-usar-commits-semanticos/

https://www.freecodecamp.org/news/writing-good-commit-messages-a-practical-guide/

https://github.com/commitizen/cz-cli


Noticias Relacionadas

26/04/2019

Guia de publicação no github

19/04/2021

O que é GitFlow e para que serve

09/09/2021

Tipos de mensagens de commit


Notícias

Data Título
13/09/2021 Documentário Chapéu Estrelado
09/09/2021 Tipos de mensagens de commit
06/09/2021 Instalar Docker no Ubuntu usando o WSL 2
02/09/2021 O que é uma API REST
02/09/2021 Como descobrir o nome do computador
20/08/2021 Syncthing no raspberry
13/08/2021 Documentário O amanhã é hoje
10/08/2021 Troller encerra produção em setempo
06/08/2021 Livro Descompliando o Docker
04/08/2021 A história da Cachaça
29/07/2021 Cervejas regionais da Ambev mais que dobram impacto na agricultura familiar
23/07/2021 Fazenda Carnaúba lança programação completa da 9ª edição do Dia D