Skip to content

Semantic Commit

Lorenzo O. Zimbres edited this page Mar 6, 2025 · 1 revision

Commits deverão seguir a convenção de mensagens semânticas "Conventional Commits"

SINTAXE

MENSAGEM DE COMMIT

    <id-da-tarefa> [<tipo>][<escopo opcional>] <descrição resumida>

    <Corpo opcional>

    <Rodapé opcional>

ID DA TAREFA

O id-da-tarefa consiste no ID definido pela plataforma Jira.

FIS-0000 [fix][test] Adiciona teste para cálculo x

TIPO

O tipo consiste no substantivo que define a alteração realizada, dentro do commit.

FIS-0000 [fix][test] Adiciona teste para cálculo x

ESCOPO

Consiste em um substantivo opcional que descreve uma seção da base de código alterada entre colchetes.

FIS-0000 [fix][test] Adiciona teste para cálculo x

SUBSTANTIVOS DESCRITIVOS

SUBSTANTIVO DEFINIÇÃO
feat Adicionada nova funcionalidade ou melhoria.
fix Corrigido um bug ou problema existente.
test Adicionado ou modificado testes.
docs Alterações relacionadas a documentações.
refactor Mudanças de melhorias na estrutura do código, essas mudanças não afetam as regras de aplicação ou de negócio do projeto.
chore Atualizações que não afetam o código-fonte ou testes, como tarefas de construção, configurações, etc.
style Alterações relacionadas a formatação de código, espaçamento, indentação, etc.
perf Melhorias de desempenho no código.
ci Alterações nos arquivos de configuração e scripts CI (Continuous Integration)

DESCRIÇÃO

Consiste no texto que explique de forma resumida as alterações realizadas no commit. É recomendado escrever a mensagem usando verbos no tempo passado e na voz passiva.

FIS-0000 [fix][test] testes adicionados para casos x

CORPO

O corpo pode ser utilizado para fornecer uma descrição mais detalhada das mudanças realizadas no commit, incluindo informações sobre a regra de negócio, bugs corrigidos, GUI's e assim por diante.

FIS-0000 [fix][test] nova classe de test para xxxDAO

<RNB>
Foi criada uma nova classe de teste para xxxDAO
- Testa o método x()
- Casos de teste
- Data x | id_produto y | Loja z
- Data a | id_produto b | Loja c
</RNB>

RODAPÉ

O corpo também pode ser utilizado para incluir notas de rodapé sobre o commit, como informações adicionais sobre as mudanças realizadas, links para documentação ou outros recursos relevantes, agradecimentos a membros da equipe ou contribuidores externos e assim por diante.

  • Breaking change: indica que uma mudança realizada no código é incompatível com versões anteriores do sistema.
  • Revisores: indica os responsaveis por realizar code reviewew.
  • Referencia: indica o número da issue aberta que motivou a mudança

FIS-0000 [fix][test] nova classe de test para xxxDAO

<RNB>
Foi criada uma nova classe de teste para xxxDAO
- Testa o método x()
- Casos de teste
- Data x | id_produto y | Loja z
- Data a | id_produto b | Loja c
</RNB>

Co-authored-by: Colega X <colegax@vrsoft.com.br>
Reviwed-by: Colega Y <colegay@vrsoft.com.br>

BREAKING CHANGE

Uma Breaking Change (Mudança que Gera Incompatibilidade) é uma alteração em um software que não é retrocompatível com versões anteriores e pode quebrar a funcionalidade existente ou causar erros em sistemas que dependem dessa funcionalidade. No contexto de commits e versionamento de software, uma breaking change é uma mudança significativa que exige atenção especial ao comunicar essas alterações aos usuários, desenvolvedores e à equipe.

A notificação de uma breaking change é crucial para manter a transparência e garantir que os usuários saibam que a atualização pode afetar negativamente seus sistemas. No padrão "Conventional Commits", você pode sinalizar uma breaking change de forma explícita usando o prefixo BREAKING CHANGE: no corpo da mensagem de commit e adicionando o caracter ! após o tipo do commit.

FIS-0000 [fix][test]! nova classe de test para xxxDAO

BREAKING CHANGE: Nova classe x adicionada pode afetar versões x.x ou anteriores.

<RNB>
Foi criada uma nova classe de teste para xxxDAO
- Testa o método x()
- Casos de teste
- Data x | id_produto y | Loja z
- Data a | id_produto b | Loja c
</RNB>

Co-authored-by: Colega X <colegax@ vrsoft.com.br>
Reviwed-by: Colega Y <colegay@ vrsoft.com.br>

Clone this wiki locally