pres:gerti:devops:informacoes:nomenclatura_commits

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
pres:gerti:devops:informacoes:nomenclatura_commits [20/04/2026 11:35] lviniciuspres:gerti:devops:informacoes:nomenclatura_commits [20/04/2026 11:42] (atual) – [Automatizar o versionamento] lvinicius
Linha 3: Linha 3:
 Este artigo descreve o padrão que adotamos para realizar a nomenclatura dos commits em nossos projetos. Este artigo descreve o padrão que adotamos para realizar a nomenclatura dos commits em nossos projetos.
  
-Adotamos o padrão [[https://www.conventionalcommits.org/pt-br/v1.0.0/|Conventional Commits]], o qual inicia o commit com um prefixo como ''<nowiki>fix:</nowiki>'', ''<nowiki>feat:</nowiki>'', ''<nowiki>docs:</nowiki>'' para identificar o tipo da mudança+Adotamos o padrão [[https://www.conventionalcommits.org/pt-br/v1.0.0/|Conventional Commits]], o qual inicia o commit com um prefixo como ''%%fix:%%'', ''%%feat:%%'', ''%%docs:%%'' para identificar o tipo da mudança.
- +
-É importante utilizar esse padrão pois os repositórios possuem (devem possuir) um [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/tree/main/templates/versioning|Job de Versionamento]] na Pipeline de CI/CD. Esse job gera automaticamente a tag da versão do repositório no padrão de [[:pres:gerti:devops:informacoes:versionamento_semantico|]] com base no nome dos commits.+
  
 Para mais informações, veja também o [[https://github.com/angular/angular/blob/main/contributing-docs/commit-message-guidelines.md|Guia de Commits do Angular]] que também usa o [[https://www.conventionalcommits.org/pt-br/v1.0.0/|Conventional Commits]]. Para mais informações, veja também o [[https://github.com/angular/angular/blob/main/contributing-docs/commit-message-guidelines.md|Guia de Commits do Angular]] que também usa o [[https://www.conventionalcommits.org/pt-br/v1.0.0/|Conventional Commits]].
- 
-{{:pres:gerti:devops:informacoes:20260420083356.png?nolink&920x131}} 
  
 ===== Objetivos ===== ===== Objetivos =====
Linha 17: Linha 13:
   * Tornar o histórico de commits mais legível   * Tornar o histórico de commits mais legível
   * Padronizar a comunicação entre a equipe   * Padronizar a comunicação entre a equipe
 +
 +==== Automatizar o versionamento ====
 +
 +É importante utilizar esse padrão pois os repositórios possuem (devem possuir) um [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/tree/main/templates/versioning|Job de Versionamento]] na Pipeline de CI/CD. Esse job lê o nome dos commits e gera automaticamente a tag da versão do repositório no padrão de [[:pres:gerti:devops:informacoes:versionamento_semantico|]].
 +
 +{{:pres:gerti:devops:informacoes:20260420083356.png?nolink&1281x183}}
 +
  
 ===== Sintaxe dos Commits ===== ===== Sintaxe dos Commits =====
  
 Esta é a sintaxe dos commits que o [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/tree/main/templates/versioning|Job de Versionamento]] está configurado para entender Esta é a sintaxe dos commits que o [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/tree/main/templates/versioning|Job de Versionamento]] está configurado para entender
-<code> 
  
 +<code>
 <tipo>(<escopo opcional>): <descrição> [#<task redmine>] <tipo>(<escopo opcional>): <descrição> [#<task redmine>]
- 
 </code> </code>
  
-  * ''<nowiki><tipo></nowiki>'': **Obrigatório.**  Refere-se ao tipo da alteração: se ele corrige um bug é um ''<nowiki>fix</nowiki>'', se adiciona um feature, é um ''<nowiki>feat</nowiki>''. Veja: [[#quais_20tipos_20de_20commits_20existem|Quais Tipos de Commits existem]] +  * ''%%<tipo>%%'': **Obrigatório.** Refere-se ao tipo da alteração: se ele corrige um bug é um ''%%fix%%'', se adiciona um feature, é um ''%%feat%%''. Veja: [[#Quais%20Tipos%20de%20Commits%20existem?|Quais Tipos de Commits existem?]] 
-  * ''<nowiki><escopo opcional></nowiki>'': **Opcional.**  Descreve qual módulo do sistema foi alterado +  * ''%%<escopo opcional>%%'': **Opcional.** Descreve qual módulo do sistema foi alterado 
-  * ''<nowiki><descrição></nowiki>'': **Obrigatório.**  Descrição do o que o seu commit faz. Inicie sempre com verbos no **presente do indicativo**, ex.: ''<nowiki>corrige</nowiki>'', ''<nowiki>altera</nowiki>'', ''<nowiki>implementa</nowiki>'', ''<nowiki>refatora</nowiki>'', ''<nowiki>adiciona</nowiki>''+  * ''%%<descrição>%%'': **Obrigatório.** Descrição do o que o seu commit faz. Inicie sempre com verbos no **presente do indicativo**, ex.: ''%%corrige%%'', ''%%altera%%'', ''%%implementa%%'', ''%%refatora%%'', ''%%adiciona%%''
-  * ''<nowiki>[#<task redmine>]</nowiki>'': **Opcional.**  Este é o ID da task do Redmine caso seu commit esteja relacionado. Ex: ''<nowiki>#39042</nowiki>''+  * ''%%[#<task redmine>]%%'': **Opcional.** Este é o ID da task do Redmine caso seu commit esteja relacionado. Ex: ''%%#39042%%'' 
 ==== Quais Tipos de Commits existem? ==== ==== Quais Tipos de Commits existem? ====
  
-Para o campo ''<nowiki><tipo></nowiki>'', há as seguintes opções:+Para o campo ''%%<tipo>%%'', há as seguintes opções:
  
-^Tipo  ^Descrição  ^Versão  ^Roda a pipeline?| +^Tipo        ^Descrição                                                                                      ^Versão         ^Roda a pipeline?^ 
-|**build**   |Mudanças que afetam o sistema de build (Dockerfile) ou dependências externas (requirements.txt)|Não altera  |Sim  +|**build**   |Mudanças que afetam o sistema de build (Dockerfile) ou dependências externas (requirements.txt)|Não altera     |Sim             
-|**ci**   |Alterações na pipeline de CI/CD  |Não altera  |Sim  +|**ci**      |Alterações na pipeline de CI/CD                                                                |Não altera     |Sim             
-|**docs**   |Alterações na Documentação  |Não altera  |Não  +|**docs**    |Alterações na Documentação                                                                     |Não altera     |Não             
-|**feat**   |Um feature novo (alterações que adicionam funcionalidade)  |Aumenta a Minor|Sim  +|**feat**    |Um feature novo (alterações que adicionam funcionalidade)                                      |Aumenta a Minor|Sim             
-|**fix**   |Uma correção de bug (alteração que corrige funcionalidade)  |Aumenta o Patch|Sim  +|**fix**     |Uma correção de bug (alteração que corrige funcionalidade)                                     |Aumenta o Patch|Sim             
-|**perf**   |Uma mudança no código que melhora a performance  |Aumenta a Minor|Sim  +|**perf**    |Uma mudança no código que melhora a performance                                                |Aumenta a Minor|Sim             
-|**refactor** |Uma mudança de código que nem corrige bugs, nem adiciona features. Apenas Refatoração.  |Não altera  |Sim  +|**refactor**|Uma mudança de código que nem corrige bugs, nem adiciona features. Apenas Refatoração.         |Não altera     |Sim             
-|**test**   |Adição de novos testes ou correção de testes existentes  |Não altera  |Sim  |+|**test**    |Adição de novos testes ou correção de testes existentes                                        |Não altera     |Sim             |
  
-> **Dica:**  Commits que começam ''<nowiki>docs:</nowiki>''  não disparam a pipeline. Caso não queria disparar a pipeline, pode usá-lo.+> **Dica:** Commits que começam ''%%docs:%%'' não disparam a pipeline. Caso não queria disparar a pipeline, pode usá-lo.
  
 ===== Exemplos ===== ===== Exemplos =====
Linha 51: Linha 54:
 Veja como exemplo um histórico de commits de um projeto fictício para entender como que Veja como exemplo um histórico de commits de um projeto fictício para entender como que
  
-^Versão Atual^Nome do Commit  ^Nova Versão^Tipo de Alteração  | +^Versão Atual^Nome do Commit                                                    ^Nova Versão^Tipo de Alteração       ^ 
-|1.2.4  |fix: Corrige a formatação do parser markdown  |1.2.5  |Altera a versão de Patch| +|1.2.4       |fix: Corrige a formatação do parser markdown                      |1.2.5      |Altera a versão de Patch| 
-|1.2.5  |feat: Adiciona comando de pull para baixar novas páginas #37093  |1.3.0  |Altera a versão Minor  +|1.2.5       |feat: Adiciona comando de pull para baixar novas páginas #37093   |1.3.0      |Altera a versão Minor   
-|1.3.0  |docs(comandos): Cria sessão explicando como usar o comando de pull|1.3.0  |Versão se mantem igual  |+|1.3.0       |docs(comandos): Cria sessão explicando como usar o comando de pull|1.3.0      |Versão se mantem igual  |
  
 ===== Como funciona? ===== ===== Como funciona? =====
Linha 62: Linha 65:
   - Encontrei um bug no Job de Versionamento.   - Encontrei um bug no Job de Versionamento.
   - Corrigi o erro em minha máquina, testei e estou pronto para commitar.   - Corrigi o erro em minha máquina, testei e estou pronto para commitar.
-  - Como a alteração é uma **correção de bug**  no módulo **versioning**, o commit se chamou: ''<nowiki>fix(versioning): corrige output do NEXT_VERSION</nowiki>''+  - Como a alteração é uma **correção de bug** no módulo **versioning**, o commit se chamou: ''%%fix(versioning): corrige output do NEXT_VERSION%%''
-  - Fiz push. No Gitlab, o Job de Versionamento [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/jobs/23380|leu o nome do commit]] entendeu que é um ''<nowiki>fix</nowiki>'', e criou uma nova tag nesse commit. A tag anterior era ''<nowiki>3.0.0</nowiki>'', então ele aumentou para ''<nowiki>3.0.1</nowiki>''.+  - Fiz push. No Gitlab, o Job de Versionamento [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/jobs/23380|leu o nome do commit]] entendeu que é um ''%%fix%%'', e criou uma nova tag nesse commit. A tag anterior era ''%%3.0.0%%'', então ele aumentou para ''%%3.0.1%%''.
   - Após isso, o [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/tree/main/templates/versioning|Job de Versionamento]] também gerou um [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/releases#3.0.1|changelog]] com as alterações.   - Após isso, o [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/tree/main/templates/versioning|Job de Versionamento]] também gerou um [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates/-/releases#3.0.1|changelog]] com as alterações.
  
 ===== Dica: Iniciar descrição do commit com o presente do indicativo ===== ===== Dica: Iniciar descrição do commit com o presente do indicativo =====
  
-Por convenção, inicie a **Descrição**  do commit com **verbos no presente do indicativo**. A descrição deve indicar o que o commit **faz**. Exemplos:+Por convenção, inicie a **Descrição** do commit com **verbos no presente do indicativo**. A descrição deve indicar o que o commit **faz**. Exemplos:
  
-  * fix: **corrige**  a formatação do parser markdown +  * fix: **corrige** a formatação do parser markdown 
-  * feat: **adiciona**  comando de pull para baixar novas páginas+  * feat: **adiciona** comando de pull para baixar novas páginas
  
 A intenção é facilitar a leitura do histórico de commits, e dos changelogs. A intenção é facilitar a leitura do histórico de commits, e dos changelogs.
Linha 78: Linha 81:
  
 Para informações completas da sintaxe dos commits e versionamento semântico: [[https://semver.org/|Versionamento Semântico]] e [[https://github.com/angular/angular/blob/main/contributing-docs/commit-message-guidelines.md|guia de commits do Angular]]. Para informações completas da sintaxe dos commits e versionamento semântico: [[https://semver.org/|Versionamento Semântico]] e [[https://github.com/angular/angular/blob/main/contributing-docs/commit-message-guidelines.md|guia de commits do Angular]].
- 
- 
- 
  
  • pres/gerti/devops/informacoes/nomenclatura_commits.1776684946.txt.gz
  • Última modificação: 20/04/2026 11:35
  • por lvinicius