{"componentChunkName":"component---src-templates-blog-post-index-js","path":"/padroes-e-nomenclaturas-no-git/","result":{"data":{"markdownRemark":{"fields":{"slug":"/padroes-e-nomenclaturas-no-git/"},"frontmatter":{"category":"Git","date":"03/06/2020","description":"Como você cria suas branches? E seus commits? Possui padrões? Veja como eu faço...","featuredImage":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAIBAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAABAAP/2gAMAwEAAhADEAAAAcNkfQrJC//EABgQAAIDAAAAAAAAAAAAAAAAAAABEDFB/9oACAEBAAEFAlbnD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEABj8CX//EABoQAAICAwAAAAAAAAAAAAAAAAABECFRYYH/2gAIAQEAAT8hoE0zhiDP/9oADAMBAAIAAwAAABBzL//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABoQAQADAQEBAAAAAAAAAAAAAAEAESFBMYH/2gAIAQEAAT8QWlYwO3RG+JxfJqW6WWH1Z//Z","aspectRatio":1.5384615384615385,"src":"/static/781bc8f5e3a6f59b32e79d0bc5090926/86e90/git-log.jpg","srcSet":"/static/781bc8f5e3a6f59b32e79d0bc5090926/17b1e/git-log.jpg 240w,\n/static/781bc8f5e3a6f59b32e79d0bc5090926/2d331/git-log.jpg 480w,\n/static/781bc8f5e3a6f59b32e79d0bc5090926/86e90/git-log.jpg 960w","srcWebp":"/static/781bc8f5e3a6f59b32e79d0bc5090926/c30ee/git-log.webp","srcSetWebp":"/static/781bc8f5e3a6f59b32e79d0bc5090926/e8667/git-log.webp 240w,\n/static/781bc8f5e3a6f59b32e79d0bc5090926/87b7f/git-log.webp 480w,\n/static/781bc8f5e3a6f59b32e79d0bc5090926/c30ee/git-log.webp 960w","sizes":"(max-width: 960px) 100vw, 960px"}}},"photographer":"","title":"Padrões e nomenclaturas no Git"},"timeToRead":5,"html":"<p>E ae, meus nobres \"codeiros\" adoradores de uma cerveja e/ou café, como estamos? Falarei aqui sobre algumas práticas de padrões e nomenclaturas no Git. Sim, será meu primeiro artigo sobre Git, ferramenta que gosto pra meireles.</p>\n<h2>Padrão pra quê? Faz de qualquer jeito e que se foda...</h2>\n<p>Beleza, vai na fé, portanto, espero nunca ter que trabalhar contigo ou contribuir em algum repositório seu. Brincadeiras à parte, vou mostrar aqui algumas coisas que uso na Wooza, empresa onde eu trabalho e nos meus projetos pessoais.</p>\n<h2>Padrões nos nomes de branches</h2>\n<p>Em termos de <strong>padrões e nomenclaturas no Git</strong>, acho esse ponto importante, mas confesso que não tão primordial assim. Mas acredito que é sempre sagaz ter um padrão de nomenclaturas e um nome explicativo nas branches.</p>\n<h3>Os prefixos</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 778px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 64.48979591836735%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAADXUlEQVQ4y42Sa0xbZRjH/6d1EYNinJAtfBB10yyLWdxiJi5xX3Qy3bI4L8tctuyDI0aiZrEiMi4bhJVkcwMnbsC4WHcz2QUWhnQYB2NEqG2BKtDbaGl74ND2cE576OWUAM9yjiF+UKNP8s/75Mn7/p7/+7wvolLkYHQu2ruYkrekiEBE4MNBzfy8zCj54uICpKiIqtIv8b9CELkl/5SXJrz22dpa/caBd/K0S1JMBbvGLBplVeJ4WRFOVhT/N1ASueYZ1kV/XKsP3y7OXxP/rgSUSKwjoky3Y0Td81N7m9pAlhOqUqnEvwPvESHv6o2a8fy8/QsvP1oR77qs5yJ8dJYPeuzWe9sBKFfXmAb7GYGfUR0rqtGXo7q88O9Ao2sM0J8po9M7QMDDYu/NzvDsNLkdQ9Qz+EudctjotGMy4Ec8JikwdbYnKkpQVfIPc43OCR8Ps+ykwHNvn71yTa0tJIUjbPflnuTeTZVUtjuTj0VrJCnSLkeFdcsOlZDlJFKpJLNcm5+Xgamwj2a4SXI7x2MHT53bha90Ocg/nIUvjq5u3brm/eGTOvM0HyB/wEOj41brzs0bssjWpWlz/8ooUAUUnPZpX3w2A+WHDwBiyHdqJuBO3jVWS7lnCg043fkZvm4qzDhrOIrW60fSvj1fIPJsl3d0gGzN+lvUWABKB15VXK5VgemhIKs6Lvv8IyDMJTDm8D/923lsdLeiMtSCPb+7t63kImwbxSQHzfF5iouJbsOG+OvZn8Z3Pa+nbdnPgEjrCHnapYjIikJo3/IYMM2GGdekDFMjgDBpLHV4707Hax0NrtvU7xykUUvf/Z07PsmhuxnwHnociTdeWb+Um13sOXaott7ZSX3OAXJY+ryluoJN1ZXHHkFcGILHF2NMF5/T+JaIcd85gLDfmssG75PNbiJr7wXu57rH6sytaSesTTg++COKTI0onajfYuJYO9lcJjIPdFt1VZVPfaMrWAFzM2Bp+VNDxj3gOjdriWaREIPv+p0jN/qMTVsDDUgfubAiy9zCZI2ce2jVsCFtFQjaWFx4c2rc3OUt+uAS5eAJ60tP/vV9FKBrrANXbxXhw35CSgwiGQrC1PM9RhuAYQMDs9qYgfkH4JINSMQEyA6b8kiZ4u4XVi++tRYPAMESEk+bAsk5AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image lazyload\"\n        alt=\"Desenho ilustrando branches no Git\"\n        title=\"Desenho ilustrando branches no Git\"\n        data-src=\"/static/0da5c3a48cb55617096170d199db5efc/20982/branching.png\"\n        data-srcset=\"/static/0da5c3a48cb55617096170d199db5efc/86a2e/branching.png 245w,\n/static/0da5c3a48cb55617096170d199db5efc/41d3c/branching.png 490w,\n/static/0da5c3a48cb55617096170d199db5efc/20982/branching.png 778w\"\n        sizes=\"(max-width: 778px) 100vw, 778px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Sim, eu uso prefixos pré-definidos para criar uma branch. Segue abaixo a lista:</p>\n<ul>\n<li>bugfix/</li>\n<li>feature/</li>\n<li>hotfix/</li>\n<li>improvement/</li>\n</ul>\n<p>Em si já dá pra saber um pouco sobre cada prefixo, mas vamos com uma breve explicação sobre eles...</p>\n<h4>bugfix/</h4>\n<p>Como o próprio nome já diz, é um BUG e precisa ser corrigido de forma imediata, o quanto antes. Num outro artigo eu explico melhor a utilização desse cara e <em>branches principais</em>.</p>\n<h4>feature/</h4>\n<p>O nome já diz também o que é, uma nova feature que será adicionada ao projeto, componente e afins.</p>\n<h4>hotfix/</h4>\n<p>Às vezes esse termo pode ser usado de outras formas, até mesmo para usar no lugar do bugfix. Porém, eu prefiro separar, deixar com semânticas diferentes.</p>\n<p>Ele é bem similar ao bugfix/, porém, ele não é um BUG, mas sim uma correção, seja ela de cor, textos, alterações não tão urgentes, que não signifiquem BUG's.</p>\n<h4>improvement/</h4>\n<p>O nome já mostra para o que serve. Em si é uma melhoria para um fodasse já existente, seja de performance, de escrita, de layout, etc.</p>\n<h2>Sagaz, Dulcetti. Só faltou falar dos commits</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 900px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 57.9591836734694%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAMABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQCAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAABAAL/2gAMAwEAAhADEAAAAddR6M2gOf/EABoQAAICAwAAAAAAAAAAAAAAAAIDAREAEBL/2gAIAQEAAQUCafAIfLDyosY1/8QAFhEAAwAAAAAAAAAAAAAAAAAAEBEh/9oACAEDAQE/AVB//8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQIBAT8Bp//EABoQAQADAAMAAAAAAAAAAAAAAAECEBEAIUH/2gAIAQEABj8CU7TmMcpl7f8A/8QAGhAAAgMBAQAAAAAAAAAAAAAAASEAEBExQf/aAAgBAQABPyFJvDC8ZKIgOhmx1f/aAAwDAQACAAMAAAAQX8//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQMBAT8QBtn/xAAVEQEBAAAAAAAAAAAAAAAAAAAREP/aAAgBAgEBPxAJP//EAB0QAQEAAgEFAAAAAAAAAAAAAAERACEQMVFhcbH/2gAIAQEAAT8QQaAK3u5HrtEXae+DMh34Fn3AG1Zss0vXj//Z'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image lazyload\"\n        alt=\"Desenho com monitor marca do Git\"\n        title=\"Desenho com monitor marca do Git\"\n        data-src=\"/static/ba71f8685f1e03d4b73494ad79a6131c/8e1fc/git-monitor.jpg\"\n        data-srcset=\"/static/ba71f8685f1e03d4b73494ad79a6131c/a0fb2/git-monitor.jpg 245w,\n/static/ba71f8685f1e03d4b73494ad79a6131c/6b254/git-monitor.jpg 490w,\n/static/ba71f8685f1e03d4b73494ad79a6131c/8e1fc/git-monitor.jpg 900w\"\n        sizes=\"(max-width: 900px) 100vw, 900px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Sim, sim. Em termos de padrões e nomenclaturas no Git, acho essa parte essencial. Eu gosto de analisar um PR olhando as mensagens de commit. Se elas forem bem explicativas, já consigo saber o porquê daquele PR.</p>\n<p>Bom, claro, em si o PR seria pra isso, com sua descrição, etc. Mas isso pode ficar para mais um artigo futuro ;)</p>\n<p>Pros meus commits eu uso o <a href=\"https://github.com/commitizen/cz-cli\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Commitizen</a>. Bom, na verdade eu não uso ele não, mas sigo seus padrões. A grande merda foi que lá na Wooza usamos Windows, e esse cara não funcionou corretamente na minha máquina. Portanto, segui usando os padrões dele na mão mesmo.</p>\n<h3>Instalação do commitizen</h3>\n<p>Só instalar globalmente na sua máquina:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token function\">yarn</span> <span class=\"token function\">add</span> global commitizen</code></pre></div>\n<p>Feito isso, agora pra usar é só lançar o comando seguinte no terminal:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token function\">git</span> cz</code></pre></div>\n<p>Feito isso ele abrirá o painel com seus prefixos para você escolher. Vamos a eles...</p>\n<h3>Prefixos do commitizen</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 557px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 53.87755102040816%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB4klEQVQoz01S25KqQAzk/79tq7ZWAQFRgRluw8UbqLu6nVMddes8pCaBmU53Op6rVlLZQEy+lH5IJTS+jM6XfbNCZQK4OgKupfxerOBin+f1mb/rx2x4grk37bfYd2uN07jF0Ke4HDZyGlKcxw1upww/5wLXY4bbKcf3Ocflld+OGb5POR6z+Qtv3u9w7FOchg0Obo2xjTGNW2E977cg8DRu0TcRRpdoPrQJDt0aQxvr2/9Ze00ViDU+gaStQljjS9fGkmdfUhZLuCqEq1cyNBEYxW4htQ1kaGNRZe4J3NURxjaB17QRWpfgdzbSdwkyG8BWIRqXCKVRxs9U8JT7bIS5xrnAfTK4v6TeX989V63QlCHkWgq7pOtP2HyJvonZUSiprVaobagglHd/NvgDvE+FmqOmcPCkTAauXiFNn4BFttRG+W5BmbC5r66bfIls96U5g3eKbIH5sAPnqC6TGYfMKE2A2gbIswXcixlBKv0ewhZLlIWP0vjKvDK+EuI/qvF4kYw4w+7NsPARxx/amcGHfEQT6DRrGkBGlM4d5BgY3ntGDwWMsEk/lWFbPrsTnGC8w9V5r0vXROjrSNVxF99L7ql7k3bR3ePlgYa4BHuGrkais2IjAtAw1u7F/MVS2f4DBe0uo5QjSvoAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image lazyload\"\n        alt=\"Imagem com os padrões do Commitizen\"\n        title=\"Imagem com os padrões do Commitizen\"\n        data-src=\"/static/96d11efb73389c4dc87ec72c50ff0d28/30d00/add-commit.png\"\n        data-srcset=\"/static/96d11efb73389c4dc87ec72c50ff0d28/86a2e/add-commit.png 245w,\n/static/96d11efb73389c4dc87ec72c50ff0d28/41d3c/add-commit.png 490w,\n/static/96d11efb73389c4dc87ec72c50ff0d28/30d00/add-commit.png 557w\"\n        sizes=\"(max-width: 557px) 100vw, 557px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Como deu pra ver, temos uma lista com os tipos de commit:</p>\n<ul>\n<li><strong>feat:</strong> que serve para novas features que você adicionar</li>\n<li><strong>fix:</strong> o nome já diz, serve para você corrigir algum fodasse lá</li>\n<li><strong>docs:</strong> mais um fácil, para algo relacionado a documentações, README e afins</li>\n<li><strong>style:</strong> mexeu no estilo, CSS? Manda brasa então nesse cara</li>\n<li><strong>refactor:</strong> precisou alterar, melhorar algum fodasse? É esse caboclo aqui</li>\n<li><strong>perf:</strong> quando você mexer em algo relacionado a performance, fique à vontade em usar esse aqui</li>\n<li><strong>test:</strong> para testes, ok?</li>\n<li><strong>chore:</strong> geralmente o mais emblemático. Serve para coisas relacionados a build, configs e afins. Por exemplo, mexeu em algo no package.json? Use esse cara, seja atualizando a versão do pacote ou instalando novas dependências</li>\n</ul>\n<h3>E como usa esse commitizen ae no meu projeto?</h3>\n<p>Fácil, é só colocar esse cara aqui no seu package.json:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token property\">\"config\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"commitizen\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"path\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"cz-conventional-changelog\"</span>\n  <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span></code></pre></div>\n<p>Veja o <a href=\"https://github.com/commitizen/cz-cli\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repositório do Commitizen</a>.</p>\n<h2>Mas claro, ainda dá pra melhorar usando com o Commitlint</h2>\n<p>Percebam que eu usei o <code class=\"language-text\">cz-conventional-changelog</code> na configuração. Aí precisamos instalar esses caras aqui dentro do seu projeto:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token function\">yarn</span> <span class=\"token function\">add</span> -D @commitlint/cli @commitlint/config-conventional</code></pre></div>\n<p>Depois disso você precisa configurar no package.json:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token property\">\"husky\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"hooks\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"commit-msg\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"commitlint -E HUSKY_GIT_PARAMS\"</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>Mas o que esse cara faz?</h3>\n<p>Exatamente o que você pensou. Ele é um lint de mensagens de commit. Ele é uma melhoria do commitizen, porém, com essa verificação pra ver se a sua mensagem de commit está seguindo os padrões.</p>\n<p>Eles também possuem uma lista de padrões de prefixos, segue abaixo:</p>\n<ul>\n<li><strong>build:</strong> mais específicos para tarefas de build</li>\n<li><strong>ci:</strong> para algo que você mexa na Integração Contínua dele</li>\n<li><strong>chore:</strong> já expliquei esse lá em cima</li>\n<li><strong>docs:</strong> esse também</li>\n<li><strong>feat:</strong> esse também, caralha</li>\n<li><strong>fix:</strong> droga, outro que já expliquei</li>\n<li><strong>perf:</strong> VOU TER QUE REPETIR QUANTAS VEZES QUE JÁ EXPLIQUEI?</li>\n<li><strong>refactor:</strong> blá, blá, blá...</li>\n<li><strong>revert:</strong> Finalmente algum para eu explicar. O nome já diz o que é, certo? Caso você precise fazer um revert, manda ver nesse prefixo</li>\n<li><strong>style:</strong> PENSEI QUE TIVESSE ACABADO</li>\n<li><strong>test:</strong> pqp, chega...</li>\n</ul>\n<h3>Mas Dulcetti, preciso de outros prefixos, como faço?</h3>\n<p>Não se preocupe, esse camarada possui um arquivo de configuração. Crie um arquivo chamado commitlint.config.js na raiz do seu projeto e coloque o conteúdo abaixo:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">module<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  rules<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token string\">'body-leading-blank'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'always'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'footer-leading-blank'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'always'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'header-max-length'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'always'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">72</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'scope-case'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'always'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'lower-case'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'subject-case'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'never'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'sentence-case'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'start-case'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'pascal-case'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'upper-case'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'subject-empty'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'never'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'subject-full-stop'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'never'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'.'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'type-case'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'always'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'lower-case'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'type-empty'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'never'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'type-enum'</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token number\">2</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">'always'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">'build'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'chore'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'ci'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'docs'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'feat'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'fix'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'perf'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'refactor'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'revert'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'style'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'test'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Percebam que ele possui um array com todos os padrões dele. Se quiser algum prefixo a mais, adicione lá. E caso queira remover algum, fique à vontade.</p>\n<p>Percebam também que existem outras configurações antes da lista de prefixos. Algo como deixar o seu scopo de commit sempre em letra minúscula, o tamanho máximo que o header pode ter em caracteres, deixar o tipo vazio, em letra minúscula, dentre outras coisas. Dá pra fazer muita coisa bacanuda nesse fodasse ae.</p>\n<p>Veja o <a href=\"https://github.com/conventional-changelog/commitlint\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repositório do Commitlint</a>.</p>\n<h2>Finalizando</h2>\n<p>Bom, tem mais coisas que eu posso escrever em mensagens de commits e afins, mas preferi deixar esse artigo focado só nesses dois caras. Em breve eu crio outro falando mais sobre branches, como preparo mensagens de commit, sem ser relacionado ao prefixo e afins, criação de Pull Requests, dentre outras coisas.</p>\n<p>E ae, o que acharam? Faltou algo? Usam esses caras? Usam alguma outra coisa? Só falar ae.</p>\n<p>Beijo na alcatra</p>"}},"pageContext":{"nextPost":{"fields":{"slug":"/como-colocar-um-feed-no-seu-blog-com-o-gatsby/"},"frontmatter":{"title":"Como colocar um feed no seu Blog com o Gatsby"}},"previousPost":{"fields":{"slug":"/a-volta-dos-que-nao-foram/"},"frontmatter":{"title":"A volta dos que não foram..."}},"slug":"/padroes-e-nomenclaturas-no-git/"}},"staticQueryHashes":["1271460761","2963127411","3623170217","764694655"]}