Hoje é 17/11/25 - Dia da Criatividade; Dia Internacional do Estudante;


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


Produtos

DJI Mini 4K

DJI Mini 4K

Drone DJI Mini 4K controle sem tela

Starlink Mini

Starlink Mini

Antena de internet Via Satélite Starlink Mini

Gopro Hero 4k

Gopro Hero 4k

Câmera de Ação compacta GoPro à Prova d'água

Caneca Stanley

Caneca Stanley

Caneca Stanley 1.18L

Chopeira 5L

Chopeira 5L

Chopeira para 12 latas

Chopeira Beertender

Chopeira Beertender

Chopeira Beertender Krups Heineken 5L Preta

Notícias Relacionadas


Notícias

Notícias
Cursos online do Conexão Cerveja Brasil Cursos online do Conexão Cerveja Brasil
Ao longo do mês de setembro, a Associação Brasileira de Cerveja Artesanal (Abracerva) promove uma série de cursos online e gratuitos com profissionais de destaque do setor.
5º Agrofest São Gonçalo 2025 5º Agrofest São Gonçalo 2025
A comunidade rural de Poço de Pedra, em São Gonçalo do Amarante (RN), está sendo preparada para receber a maior edição da Agrofest.
Fequaju 2025 Fequaju 2025
A Prefeitura de Serra do Mel divulgou nesta terça-feira, 1º, a aguardada programação oficial do Fequaju 2025.
FINECAP 2025 FINECAP 2025
A Prefeitura de Pau dos Ferros anunciou a programação completa da FINECAP 2025.
Programação completa do Pingo da Mei Dia 2025 Programação completa do Pingo da Mei Dia 2025
Confira a programação completa do Pingo da Mei Dia 2025 por horário
Abracerva divulga as melhores cervejas do Nordeste do Brasil de 2025 Abracerva divulga as melhores cervejas do Nordeste do Brasil de 2025
Rótulos de Alagoas, Paraíba e da Bahia receberam medalhas como as melhores cervejas em etapa da 5ª Copa Cerveja Brasil.