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:40] lviniciuspres:gerti:devops:informacoes:nomenclatura_commits [07/05/2026 12:59] (atual) – [Sintaxe dos Commits] ivinicius
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.
  
 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]].
Linha 16: Linha 16:
 ==== Automatizar o versionamento ==== ==== 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 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.+É 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}} {{:pres:gerti:devops:informacoes:20260420083356.png?nolink&1281x183}}
 +
  
 ===== Sintaxe dos Commits ===== ===== Sintaxe dos Commits =====
Linha 25: Linha 26:
 <code> <code>
  
-<tipo>(<escopo opcional>): <descrição> [#<task redmine>]+<tipo>(<escopo opcional>): [ref #<task redmine> (exemplo: ref #40061 - para uma tarefa - ou refs #40061, #40062 - para duas ou mais tarefas)<descrição>
  
 </code> </code>
Linha 33: Linha 34:
   * ''<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>''.   * ''<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>''.
   * ''<nowiki>[#<task redmine>]</nowiki>'': **Opcional.**  Este é o ID da task do Redmine caso seu commit esteja relacionado. Ex: ''<nowiki>#39042</nowiki>''   * ''<nowiki>[#<task redmine>]</nowiki>'': **Opcional.**  Este é o ID da task do Redmine caso seu commit esteja relacionado. Ex: ''<nowiki>#39042</nowiki>''
 +
 +
 ==== 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 53: Linha 56:
 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 64: Linha 67:
   - 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 80: Linha 83:
  
 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.1776685224.txt.gz
  • Última modificação: 20/04/2026 11:40
  • por lvinicius