{"id":10765,"date":"2024-12-13T10:53:00","date_gmt":"2024-12-13T13:53:00","guid":{"rendered":"https:\/\/geekblogti.wpengine.com\/?p=10765"},"modified":"2024-12-13T10:50:53","modified_gmt":"2024-12-13T13:50:53","slug":"o-que-e-commit-e-como-usar-commits-semanticos","status":"publish","type":"post","link":"https:\/\/www.geekhunter.com/pt/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/","title":{"rendered":"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos"},"content":{"rendered":"\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Um dos grandes desafios que a \u00e1rea de tecnologia enfrenta atualmente \u00e9 prestar manuten\u00e7\u00e3o em um ambiente heterog\u00eaneo de equipe, onde diversos desenvolvedores implementam novas funcionalidades e corre\u00e7\u00f5es a todo instante<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A sustenta\u00e7\u00e3o de uma aplica\u00e7\u00e3o \u00e9 t\u00e3o complexa quanto o seu desenvolvimento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para ajudar nesse cen\u00e1rio e facilitar o atendimento de tarefas, \u00e9 fundamental processos padronizados de execu\u00e7\u00e3o, que podem ser obtidos atrav\u00e9s da utiliza\u00e7\u00e3o de conceitos de<strong> Clean Architecture <\/strong>e <strong>Patterns<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por\u00e9m, tais processos n\u00e3o se limitam somente a utiliza\u00e7\u00e3o de melhores pr\u00e1ticas na arquitetura de desenvolvimento, mas sim, em um conceito claro que deve estar impregnado na cultura do time de desenvolvimento.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p>Confira <a href=\"https:\/\/bit.ly\/3hxrfyl\" target=\"_blank\" rel=\"noreferrer noopener\">vagas para desenvolvedores<\/a> profissionais de software<\/p>\r\n<p>Antes de ler sobre o que \u00e9 commit, voc\u00ea j\u00e1 conhece os <strong><a href=\"https:\/\/geekblogti.wpengine.com\/comandos-git-mais-utilizados\/\" target=\"_blank\" rel=\"noreferrer noopener\">Comandos Git mais Utilizados<\/a><\/strong>? Se n\u00e3o, recomendo a leitura!<\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-a-padronizacao-de-commits\">A padroniza\u00e7\u00e3o de Commits<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ent\u00e3o, nada melhor do que implantar m\u00e9todos consistentes e organizados desde as execu\u00e7\u00f5es iniciais, os quais incluem a padroniza\u00e7\u00e3o de commits nos processos de versionamento e altera\u00e7\u00f5es no c\u00f3digo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Com esse intuito, que se definiu a especifica\u00e7\u00e3o de <strong>Commits Sem\u00e2nticos<\/strong> (Conventional Commits) para permitir uma organiza\u00e7\u00e3o no processo de commit dos c\u00f3digos no desenvolvimento de softwares.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E caso voc\u00ea n\u00e3o saiba do que estamos falando, vamos voltar uma casa e explicar, afinal de contas, o que \u00e9 commit:<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-o-que-e-commit\">O que \u00e9 Commit<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em ci\u00eancia da computa\u00e7\u00e3o e gerenciamento de dados, um commit \u00e9 a realiza\u00e7\u00e3o de um conjunto de mudan\u00e7as provis\u00f3rias permanentes, marcando o fim de uma transa\u00e7\u00e3o e proporcionando durabilidade \u00e0s transa\u00e7\u00f5es ACID.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O registro de commits \u00e9 chamado de log de commits.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-o-que-e-commit-num-sistema-de-controle-de-versao\">O que \u00e9 Commit num Sistema de Controle de Vers\u00e3o<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em sistemas de controle de vers\u00e3o, como o Git, um commit adiciona as altera\u00e7\u00f5es mais recentes do c\u00f3digo-fonte para o reposit\u00f3rio, tornando essas altera\u00e7\u00f5es parte da revis\u00e3o principal do reposit\u00f3rio.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 importante ressaltar que os commits nos sistemas de controle de vers\u00e3o s\u00e3o mantidos no reposit\u00f3rio <strong>indefinidamente<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Assim, quando outros usu\u00e1rios fizerem uma atualiza\u00e7\u00e3o ou check-out no reposit\u00f3rio, eles receber\u00e3o a \u00faltima vers\u00e3o confirmada.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Os sistemas de controle de vers\u00e3o permitem reverter facilmente para vers\u00f5es anteriores. Nesse contexto, <strong>um commit dentro de um sistema de controle de vers\u00e3o \u00e9 protegido<\/strong>, pois \u00e9 facilmente revertido, mesmo ap\u00f3s o commit ter sido aplicado.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-como-fazer-commit-no-git\">Como fazer Commit no Git<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para &#8220;commitar&#8221; no git, basta executar o comando:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>git commit -m 'mensagem do commit'<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso tamb\u00e9m pressup\u00f5e que os arquivos no diret\u00f3rio atual foram testados da seguinte forma:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>git add .<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O comando acima adiciona todos os arquivos no diret\u00f3rio de trabalho a serem testados para o git commit.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Depois que o commit foi aplicado, a \u00faltima etapa \u00e9 enviar o commit para o reposit\u00f3rio, no caso abaixo nomeado &#8216;geek&#8217;, para o branch master:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>git push geek master<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Voc\u00ea tamb\u00e9m pode optar por um atalho e adicionar todos os arquivos n\u00e3o testados e fazer um commit ao mesmo tempo com o comando:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>git commit -a -m 'commit message'<\/code><\/pre>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><a href=\"https:\/\/geekblogti.wpengine.com\/comandos-git-mais-utilizados\/\" target=\"_blank\" rel=\"noreferrer noopener\">Comandos Git mais utilizados<\/a> e como configurar<\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Agora que voc\u00ea j\u00e1 sabe o que \u00e9 commit, vamos mergulhar nos <strong>commits sem\u00e2nticos<\/strong>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-como-comecou-esta-historia-de-commits-semanticos\">Como come\u00e7ou esta hist\u00f3ria de Commits Sem\u00e2nticos<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Conv\u00e9m ressaltar que n\u00e3o existe uma \u00fanica fonte que defina o in\u00edcio deste conceito. Mas, as especifica\u00e7\u00f5es do <em>Conventional Commits<\/em> \u00e9 inspirada nas diretrizes do\u00a0 <em>Angular Commit Guidelines<\/em>, que definiu normativas para confirma\u00e7\u00f5es no Git introduzidas no Angular Project.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Sendo que o primeiro rascunho desta especifica\u00e7\u00e3o visava possibilitar a an\u00e1lise de mensagens de confirma\u00e7\u00e3o convencionais nos hist\u00f3ricos do Git, de maneira ordenada e estruturada.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Entre os projetos atuais, que procuram alavancar o conceito e normatizar o processo, se destaca o <a href=\"https:\/\/www.conventionalcommits.org\/en\/v1.0.0\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Conventional Commits<\/a>, uma iniciativa que traz consigo uma tentativa de oficializar essa conven\u00e7\u00e3o na padroniza\u00e7\u00e3o de <em>commits<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em sua apresenta\u00e7\u00e3o inicial, dispon\u00edvel no site mantido pela comunidade, o Commit Sem\u00e2ntico se define como: \u201c<strong>uma especifica\u00e7\u00e3o que possui o intuito de adicionar significado leg\u00edvel para humanos e m\u00e1quinas no <em>commit<\/em> de mensagens<\/strong>\u201d..<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-o-que-sao-commits-semanticos\">O que s\u00e3o Commits Sem\u00e2nticos<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Commit sem\u00e2ntico<\/strong> ou <strong>conventional commit<\/strong>, em sua especifica\u00e7\u00e3o formal, \u00e9 uma das formas que se pode fazer padroniza\u00e7\u00e3o de commits dentro de um projeto de desenvolvimento de software.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso, utilizando regras simples e claras, que apesar de introduzirem uma pequena carga adicional de trabalho, ir\u00e1 contribuir para que seja reduzido o tempo gasto em compreender como e por que algo foi feito em um altera\u00e7\u00e3o ou corre\u00e7\u00e3o posterior.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E o melhor de tudo: mesmo que por outro membro do time de desenvolvedores.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-por-que-usar-commits-semanticos\">Por que usar Commits Sem\u00e2nticos?<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 importante saber que toda metodologia necessita estar alinhada a cultura e processos do time, e para tanto sempre se prioriza a an\u00e1lise de adapta\u00e7\u00f5es que se fa\u00e7am necess\u00e1rias para que melhor se encaixe nas necessidades de sua equipe de desenvolvedores.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Conceitualmente, para o processo de matura\u00e7\u00e3o, \u00e9 fundamental que as diretrizes sejam objetivas e de r\u00e1pida absor\u00e7\u00e3o proporcionando a equipe de desenvolvimento uma experi\u00eancia transparente de compreens\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A partir da abstra\u00e7\u00e3o de prefixos e tipos comuns dos processos executados a utiliza\u00e7\u00e3o do <em>pattern<\/em> se torna intr\u00ednseco a equipe de forma natural e consistente.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Com isso resulta, como principal valor, em uma metodologia clara e organizada para a estrutura de <em>commits<\/em> no reposit\u00f3rio de versionamento.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-ganho-de-produtividade-em-equipes\">Ganho de produtividade em equipes<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Na rotina de um programador \u00fanico, que trabalha sozinho em seus projetos, pode n\u00e3o parecer um grande ganho de produtividade.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Entretanto, em um contexto onde diversos programadores trabalham simultaneamente em um reposit\u00f3rio centralizado a ado\u00e7\u00e3o de um padr\u00e3o em todas as pr\u00e1ticas do time, converge para um grande aumento de agilidade no atendimento das tarefas rotineiras.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A especifica\u00e7\u00e3o do <strong>Conventional Commits<\/strong> \u00e9 uma conven\u00e7\u00e3o simples para se utilizar nas mensagens de commit. Define-se um conjunto de regras para criar um hist\u00f3rico de commit expl\u00edcito, o que facilita a cria\u00e7\u00e3o de ferramentas automatizadas.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esta conven\u00e7\u00e3o descreve os recursos, corre\u00e7\u00f5es e modifica\u00e7\u00f5es que estabelecem a compatibilidade nas mensagens de commit.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-vantagens-de-se-usar-commits-semanticos\">Vantagens de se usar Commits Sem\u00e2nticos<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em sua p\u00e1gina oficial, o <strong>Conventional Commits<\/strong>, enumera algumas das vantagens em sua ado\u00e7\u00e3o, s\u00e3o elas:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Possibilitar a ado\u00e7\u00e3o de processos automatizados na gera\u00e7\u00e3o de um <em>CHANGELOG<\/em> ou de release, o que resulta em uma documenta\u00e7\u00e3o estruturada e consistente;<\/li>\r\n<li>Determinar automaticamente um aumento de versionamento sem\u00e2ntico (com base nos tipos de <em>commits<\/em>).<\/li>\r\n<li>Comunicar a natureza das mudan\u00e7as para colegas de equipe, o p\u00fablico e outras partes interessadas.<\/li>\r\n<li>Disparar processos de build e deploy.<\/li>\r\n<li>Facilitar a contribui\u00e7\u00e3o de outras pessoas em seus projetos, permitindo que eles explorem um hist\u00f3rico de commits mais estruturado<\/li>\r\n<li>O <strong>Conventional Commit<\/strong> encoraja a se realizar mais commits de tipos espec\u00edficos, por exemplo corre\u00e7\u00f5es.<\/li>\r\n<li>A flexibilidade do Conventional Commits permite que sua equipe crie seus pr\u00f3prios tipos e altere ao longo do tempo.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-commits-atomicos\">Commits At\u00f4micos<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Uma das principais defini\u00e7\u00f5es da metodologia \u00e9 de que as tarefas devem ser divididas em \u00e1tomos: <strong>atomic commits<\/strong>, que se consistem de unidades objetivas que implementam uma \u00fanica funcionalidade, ou tratam a corre\u00e7\u00e3o de um \u00fanico erro.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ou seja, a cada corre\u00e7\u00e3o ou implanta\u00e7\u00e3o individual se deve executar um processo de commit, algo que segue outro conceito do<strong> Clean Architecture<\/strong>, o <em>Single Responsiblity Principle do SOLID<\/em>.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"801\" height=\"400\" class=\"wp-image-10770\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/08\/Conventional-Commits.png\" alt=\"conventional commit\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/Conventional-Commits.png 801w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/Conventional-Commits-150x75.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/Conventional-Commits-100x50.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/Conventional-Commits-600x300.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/Conventional-Commits-450x225.png 450w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/figure>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-a-estrutura-dos-commits-semanticos\">A estrutura dos Commits Sem\u00e2nticos<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A estrutura de um commit sem\u00e2ntico \u00e9 claro e de f\u00e1cil identifica\u00e7\u00e3o, pois utiliza um formato definido na sua sintaxe, possu\u00eddo partes obrigat\u00f3rias e outras opcionais.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Abaixo, descreve-se uma estrutura b\u00e1sica de um commit sem\u00e2ntico, contendo as partes obrigat\u00f3rias: tipo e descri\u00e7\u00e3o; e as partes opcionais: escopo, corpo e rodap\u00e9.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quanto mais completo o formato do commit maior ser\u00e1 o tempo em seu processamento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Portanto, recomenda-se seu uso simplificado, n\u00e3o utilizando suas partes opcionais. H\u00e1 casos espec\u00edficos que necessitam um maior descritivo do processo executado.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>&lt;tipo&gt;[escopo opcional]: &lt;descri\u00e7\u00e3o&gt;\r\n&lt;corpo opcional&gt;\r\n&lt;rodap\u00e9 opcional&gt;<\/code><\/pre>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-tipos\">Tipos<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A primeira e principal descri\u00e7\u00e3o de um commit sem\u00e2ntico, refere-se a seu tipo, os quais possuem a finalidade de comunicar a inten\u00e7\u00e3o de processamento que o utilizador teve em sua execu\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Abaixo ser\u00e1 enumerado os principais types descritos na documenta\u00e7\u00e3o do <em>Angular Commit Message Guidelines<\/em>:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>build:<\/strong> Altera\u00e7\u00f5es que afetam o sistema de constru\u00e7\u00e3o ou depend\u00eancias externas (escopos de exemplo: gulp, broccoli, npm),<\/li>\r\n<li><strong>ci:<\/strong> Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs);<\/li>\r\n<li><strong>docs:<\/strong> referem-se a inclus\u00e3o ou altera\u00e7\u00e3o somente de arquivos de documenta\u00e7\u00e3o;<\/li>\r\n<li><strong>feat:<\/strong> Tratam adi\u00e7\u00f5es de novas funcionalidades ou de quaisquer outras novas implanta\u00e7\u00f5es ao c\u00f3digo;<\/li>\r\n<li><strong>fix:<\/strong> Essencialmente definem o tratamento de corre\u00e7\u00f5es de bugs;<\/li>\r\n<li><strong>perf:<\/strong> Uma altera\u00e7\u00e3o de c\u00f3digo que melhora o desempenho;<\/li>\r\n<li><strong>refactor:<\/strong> Tipo utilizado em quaisquer mudan\u00e7as que sejam executados no c\u00f3digo, por\u00e9m n\u00e3o alterem a funcionalidade final da tarefa impactada;<\/li>\r\n<li><strong>style:<\/strong> Altera\u00e7\u00f5es referentes a formata\u00e7\u00f5es na apresenta\u00e7\u00e3o do c\u00f3digo que n\u00e3o afetam o significado do c\u00f3digo, como por exemplo: espa\u00e7o em branco, formata\u00e7\u00e3o, ponto e v\u00edrgula ausente etc.);<\/li>\r\n<li><strong>test: <\/strong>Adicionando testes ausentes ou corrigindo testes existentes nos processos de testes automatizados (TDD);<\/li>\r\n<li><strong>chore:<\/strong> Atualiza\u00e7\u00e3o de tarefas que n\u00e3o ocasionam altera\u00e7\u00e3o no c\u00f3digo de produ\u00e7\u00e3o, mas mudan\u00e7as de ferramentas, mudan\u00e7as de configura\u00e7\u00e3o e bibliotecas que realmente n\u00e3o entram em produ\u00e7\u00e3o;<\/li>\r\n<li><strong>env:<\/strong> basicamente utilizado na descri\u00e7\u00e3o de modifica\u00e7\u00f5es ou adi\u00e7\u00f5es em arquivos de configura\u00e7\u00e3o em processos e m\u00e9todos de integra\u00e7\u00e3o cont\u00ednua (CI), como par\u00e2metros em arquivos de configura\u00e7\u00e3o de containers.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Tamb\u00e9m, o Guidelines, recomenda o tipo improvement para commits que melhoram uma implementa\u00e7\u00e3o atual sem adicionar um novo recurso ou consertar um bug.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Observe que esses tipos n\u00e3o s\u00e3o obrigat\u00f3rios pela especifica\u00e7\u00e3o do Conventional Commits.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Refor\u00e7o que estes s\u00e3o os principais tipos utilizados, mas existem outros diversos que podem ser empregados e tamb\u00e9m serem adequados a necessidade de sua equipe de desenvolvimento.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/bit.ly\/3hxrfyl\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"wp-image-8407\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2019\/11\/CTA-Rodap\u00e9-Front-end-e-Back-end-1024x134.jpg\" alt=\"\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-escopos\">Escopos<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Um escopo pode ser adicionado ao tipo do commit, sendo um par\u00e2metro opcional, para fornecer informa\u00e7\u00f5es contextuais adicionais e est\u00e1 contido entre par\u00eanteses, por exemplo feat(parser): adiciona capacidade de interpretar arrays.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Normalmente, a utiliza\u00e7\u00e3o do escopo acontece em commits espec\u00edficos e pontuais, os quais necessitam especificar o contexto imediato da mudan\u00e7a executada pelo commit, como em um m\u00f3dulo de login, middleware ou profile.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por exemplo, um processo de refactor nas configura\u00e7\u00f5es de rotas do m\u00f3dulo de login de seu projeto. Poder\u00edamos descrever, utilizando o escopo, da seguinte forma o nosso commit sem\u00e2ntico:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>feat(login\/routes): change in route settings for the login<\/code><\/pre>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-descricoes\">Descri\u00e7\u00f5es<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">As descri\u00e7\u00f5es se trata de um dos par\u00e2metros obrigat\u00f3rios da sintaxe, e devem ser preferencialmente apresentadas com letras min\u00fasculas, e obrigatoriamente iniciando com letra min\u00fascula, suportando letras mai\u00fasculas em descri\u00e7\u00e3o de arquivos ou classes espec\u00edficas.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Tamb\u00e9m devem ser suficientemente claras, utilizando seu espa\u00e7o at\u00e9 o m\u00e1ximo permitido da linha.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>test: ensure DbLoadSurveys throws if LoadSurveysRepository throws<\/code><\/pre>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-corpo\">Corpo<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O corpo, por sua vez, caracteriza-se por ser opcional e raramente recomendado sua utiliza\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Resumindo-se em casos que necessitem de uma apresenta\u00e7\u00e3o mais completa do conte\u00fado implantado no commit, o qual a descri\u00e7\u00e3o anterior n\u00e3o foi o suficiente para elucidar e esclarecer.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Podendo conter descri\u00e7\u00f5es mais precisas do que est\u00e1 contido no commit, apresentando impactos e os motivos pelos quais foram empregadas as altera\u00e7\u00f5es no c\u00f3digo, como tamb\u00e9m instru\u00e7\u00f5es essenciais para interven\u00e7\u00f5es futuras.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O corpo DEVE iniciar com uma linha em branco ap\u00f3s a descri\u00e7\u00e3o. Um corpo de confirma\u00e7\u00e3o \u00e9 de forma livre e pode consistir em qualquer n\u00famero de par\u00e1grafos separados por nova linha.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>feat: ensure LoadSurveysController returns 204 if there is no content\r\n- Returns code 204 if the search load method does not return content<\/code><\/pre>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-rodape\">Rodap\u00e9<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por fim o rodap\u00e9 tamb\u00e9m n\u00e3o possui uso obrigat\u00f3rio. Restringindo-se \u00e0s altera\u00e7\u00f5es de estado via smart <em>commit<\/em>, como resolu\u00e7\u00f5es de problemas (issues), atrav\u00e9s de chamados de atendimentos, ou sprints de projetos de implanta\u00e7\u00e3o os quais podem ser descritos no rodap\u00e9.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Pode ser fornecido um ou mais rodap\u00e9s, o primeiro sempre iniciando uma linha em branco ap\u00f3s o corpo. Cada rodap\u00e9 deve consistir em um token de palavra, seguido pelo s\u00edmbolo <strong>\u201c:\u201d<\/strong> (dois pontos) e posteriormente um espa\u00e7o em branco e o s\u00edmbolo <strong>\u201c#\u201d<\/strong> (sustenido) como separador da string descritiva do rodap\u00e9 (conceito inspirado na conven\u00e7\u00e3o do Git Trailer).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O token de um rodap\u00e9 DEVE usar o s\u00edmbolo <strong>\u201c-\u201d <\/strong>(h\u00edfen) no lugar de caracteres de espa\u00e7o em branco, por exemplo,\u00a0<strong>Reviewed-by<\/strong>, permitindo uma diferencia\u00e7\u00e3o de um rodap\u00e9 em rela\u00e7\u00e3o a um corpo com v\u00e1rios par\u00e1grafos.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>fix: correct minor typos in code\r\nsee the issue for details\r\non typos fixed.\r\nReviewed-by: Elisandro Mello\r\nRefs #133<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Pronto, agora voc\u00ea j\u00e1 sabe o que precisa sobre commits!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Vale ressaltar que, de forma gradativa, pode-se introduzir e adequar a padroniza\u00e7\u00e3o \u00e0 cultura de seu time de desenvolvimento, ou mesmo ao seu uso pessoal.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Deixe seus coment\u00e1rios e divulgue caso tenha gostado, pois ajuda esse colega a divulgar seu trabalho.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Agora que voc\u00ea entendeu sobre Commits Sem\u00e2nticos, veja a continua\u00e7\u00e3o desse artigo em <strong><a href=\"https:\/\/geekblogti.wpengine.com\/javascript-standard-style\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript Standard Style: melhores pr\u00e1ticas em JS<\/a><\/strong>.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Um dos grandes desafios que a \u00e1rea de tecnologia enfrenta atualmente \u00e9 prestar manuten\u00e7\u00e3o em um ambiente heterog\u00eaneo de equipe, onde diversos desenvolvedores implementam novas funcionalidades e corre\u00e7\u00f5es a todo instante A sustenta\u00e7\u00e3o de uma aplica\u00e7\u00e3o \u00e9 t\u00e3o complexa quanto o seu desenvolvimento. Para ajudar nesse cen\u00e1rio e facilitar o atendimento de tarefas, \u00e9 fundamental [&hellip;]<\/p>\n","protected":false},"author":167,"featured_media":10768,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-10765","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimiento-de-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.3 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>O que \u00e9 Commit e Commits Sem\u00e2nticos: saiba tudo!<\/title>\n<meta name=\"description\" content=\"Descubra o que \u00e9 Commit e mergulhe neste conte\u00fado sobre Commits Sem\u00e2nticos (Conventional Commits), de como usar aos benef\u00edcios. Confira!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos\" \/>\n<meta property=\"og:description\" content=\"Um dos grandes desafios que a \u00e1rea de tecnologia enfrenta atualmente \u00e9 prestar manuten\u00e7\u00e3o em um ambiente heterog\u00eaneo de equipe, onde diversos\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Geekhunter\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/geekhunterbr\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-13T13:53:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/o-que-e-commit.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Geekhunter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:site\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geekhunter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/\"},\"author\":{\"name\":\"Geekhunter\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\"},\"headline\":\"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos\",\"datePublished\":\"2024-12-13T13:53:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/\"},\"wordCount\":2246,\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/o-que-e-commit.png\",\"articleSection\":[\"Desenvolvimiento de software\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/\",\"name\":\"O que \u00e9 Commit e Commits Sem\u00e2nticos: saiba tudo!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/o-que-e-commit.png\",\"datePublished\":\"2024-12-13T13:53:00+00:00\",\"description\":\"Descubra o que \u00e9 Commit e mergulhe neste conte\u00fado sobre Commits Sem\u00e2nticos (Conventional Commits), de como usar aos benef\u00edcios. Confira!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/o-que-e-commit.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/o-que-e-commit.png\",\"width\":800,\"height\":640,\"caption\":\"o que \u00e9 commit\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-commit-e-como-usar-commits-semanticos\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mundo TI\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desenvolvimiento de software\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/desenvolvimiento-de-software\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"name\":\"Blog de TI\",\"description\":\"Dicas para o RH e profissionais da \u00e1rea TI\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\",\"name\":\"GeekHunter\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"width\":300,\"height\":300,\"caption\":\"GeekHunter\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/x.com\\\/geekhunterbr\",\"https:\\\/\\\/www.instagram.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/geekhunter-brasil\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@GeekHunterOfficial\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\",\"name\":\"Geekhunter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"caption\":\"Geekhunter\"},\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/author\\\/matias\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"O que \u00e9 Commit e Commits Sem\u00e2nticos: saiba tudo!","description":"Descubra o que \u00e9 Commit e mergulhe neste conte\u00fado sobre Commits Sem\u00e2nticos (Conventional Commits), de como usar aos benef\u00edcios. Confira!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/","og_locale":"pt_BR","og_type":"article","og_title":"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos","og_description":"Um dos grandes desafios que a \u00e1rea de tecnologia enfrenta atualmente \u00e9 prestar manuten\u00e7\u00e3o em um ambiente heterog\u00eaneo de equipe, onde diversos","og_url":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/","og_site_name":"Blog Geekhunter","article_publisher":"https:\/\/www.facebook.com\/geekhunterbr\/","article_published_time":"2024-12-13T13:53:00+00:00","og_image":[{"width":800,"height":640,"url":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/o-que-e-commit.png","type":"image\/png"}],"author":"Geekhunter","twitter_card":"summary_large_image","twitter_creator":"@geekhunterbr","twitter_site":"@geekhunterbr","twitter_misc":{"Escrito por":"Geekhunter","Est. tempo de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#article","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/"},"author":{"name":"Geekhunter","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400"},"headline":"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos","datePublished":"2024-12-13T13:53:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/"},"wordCount":2246,"publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/o-que-e-commit.png","articleSection":["Desenvolvimiento de software"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/","name":"O que \u00e9 Commit e Commits Sem\u00e2nticos: saiba tudo!","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#primaryimage"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/o-que-e-commit.png","datePublished":"2024-12-13T13:53:00+00:00","description":"Descubra o que \u00e9 Commit e mergulhe neste conte\u00fado sobre Commits Sem\u00e2nticos (Conventional Commits), de como usar aos benef\u00edcios. Confira!","breadcrumb":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.geekhunter.com/pt/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#primaryimage","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2020\/08\/o-que-e-commit.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/08\/o-que-e-commit.png","width":800,"height":640,"caption":"o que \u00e9 commit"},{"@type":"BreadcrumbList","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-commit-e-como-usar-commits-semanticos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.geekhunter.com/pt/blog\/"},{"@type":"ListItem","position":2,"name":"Mundo TI","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/"},{"@type":"ListItem","position":3,"name":"Desenvolvimiento de software","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/desenvolvimiento-de-software\/"},{"@type":"ListItem","position":4,"name":"O que \u00e9 Commit e como usar Commits Sem\u00e2nticos"}]},{"@type":"WebSite","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","name":"Blog de TI","description":"Dicas para o RH e profissionais da \u00e1rea TI","publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.geekhunter.com/pt/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization","name":"GeekHunter","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","width":300,"height":300,"caption":"GeekHunter"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/geekhunterbr\/","https:\/\/x.com\/geekhunterbr","https:\/\/www.instagram.com\/geekhunterbr\/","https:\/\/www.linkedin.com\/company\/geekhunter-brasil\/","https:\/\/www.youtube.com\/@GeekHunterOfficial"]},{"@type":"Person","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400","name":"Geekhunter","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","caption":"Geekhunter"},"url":"https:\/\/www.geekhunter.com\/pt\/blog\/author\/matias\/"}]}},"_links":{"self":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/10765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/users\/167"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/comments?post=10765"}],"version-history":[{"count":0,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/10765\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media\/10768"}],"wp:attachment":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media?parent=10765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/categories?post=10765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/tags?post=10765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}