🚀 Crie mensagens de commits com essa IA em apenas um comando 🤖

Neste vídeo, Samuel Rizon demonstra como melhorar a qualidade das mensagens de commit no Git, começando por apontar exemplos de commits confusos e inúteis enviados por membros de um grupo Angular. Ele explica que um bom commit deve responder a duas perguntas: qual o tipo (feature, fix, refactor, etc.) e o que ele faz. Apresenta o padrão Conventional Commits, detalhando sua estrutura (tipo, escopo opcional e descrição) e enfatiza que as mensagens devem ser curtas, imperativas e em inglês. Em seguida, introduz o uso de emojis via a biblioteca Gitmoji para tornar os commits mais visualmente claros. Por fim, demonstra uma automação completa usando a ferramenta CodeCially da Sourcegraph, integrada a uma função Zsh chamada "CCM" que, a partir do git diff, gera automaticamente uma mensagem de commit padronizada com emoji e texto imperativo. O fluxo inclui instalação do CLI, login, configuração da função e execução do comando, mostrando como a IA pode simplificar a escrita de commits. O vídeo encerra com chamadas à ação para inscrição no canal e compartilhamento do conteúdo.
Chapters
E aí, meus amigos, tudo bem com vocês? No vídeo de hoje eu quero falar sobre um assunto que parece simples, mas que muita gente faz errado, que é commits no Git. Eu sou Samuel Rizon e o objetivo desse canal é te ajudar a ser um programador melhor. Então, se você quer aprender mais sobre programação, se inscreve no canal, ative o sininho para você não perder nenhum vídeo. Eu pedi para o pessoal do grupo de Angular que eu faço parte, do canal do Fábio Miranda, para eles me enviarem os commits mais bizarros que eles já viram. Na vida de programador deles. E aí eu criei um repositório aqui no GitHub para mostrar esses commits que o pessoal mandou. E aí a gente, vamos ver um pouco dessas pérolas aqui. Um deles foi esse aqui, foi o próprio Fábio Miranda que mandou. Não sei se foi ele que fez, mas olha a pérola de um commit: estava bêbado quando fiz essa merda. O outro são, cara, ajustes básicos, fix, fix adjustments, fix bug fix. E aí teve um que mandou um print de realmente um cara que fez fez uma limpeza no código dele falando sobre alguma coisa que ele limpou, que a gente não faz a mínima ideia do que é. Um fix, tem parada errada aí, irmão. E cara, se você faz esse tipo de commit, para, pelo amor de Deus, para, pelo amor de Deus, não faz esse tipo de commit. Isso aqui não ajuda em nada. Se a gente precisar buscar alguma coisa no histórico, a gente não vai conseguir encontrar com esse tipo de commit. Então entenda que isso não é um commit legal de se fazer. Se você é um programador e você faz commit desse jeito, você tá fazendo errado. Então, como que a gente faz o certo? Bom, a gente, quando a gente bate o olho num commit, a gente precisa saber de duas coisas. Primeiro, qual que é o tipo do commit? Aquele commit é uma funcionalidade nova, é um bug que tá sendo corrigido, ele é uma refatoração. E segundo, o que que esse commit faz? Quando eu bater o olho, eu preciso saber o que que esse commit tá fazendo. Com essas duas perguntas respondidas, você já vai ter um commit melhor do que 99% que a gente vê no mercado. Fechou? Só que para fazer um commit bom, a gente tem, a gente pode, né, seguir alguns padrões de mercado. Que padrões são esses? O mais conhecido é o conventional commits. O conventional commits é um padrão de commit do próprio time do Angular, e ele vai trazer uma estrutura bem simples de um commit: o tipo do commit, o scope, ele é opcional, tá, e a descrição. Simples assim. E o tipo, a gente pode ter várias formas: feat, fix, build, short, CI. A gente tem todas essas formas aqui. O pessoal do time do Angular utiliza esse padrão de commit. O próprio pessoal da Rocketseat utiliza esse padrão de commit. Então vamos ver um exemplo de um commit legal? Vamos olhar aqui pra cima de uns commits que eu fiz. Aqui a gente tem 4. Por exemplo, "feat: add login sign up page". Show! Aqui a gente sabe que é uma funcionalidade que vai adicionar a tela de login à tela de cadastro. Aqui é uma correção que vai ajustar o padding no header. Aqui é uma refatoração que vai estar extraindo o header em um componente. E aqui tá atualizando a versão do Angular. Show! Quando a gente bate o olho, a gente sabe. E o que que esses commits aqui tem de diferente? Primeiro, eles são curtos e objetivos. Então, a primeira coisa que tem que levar isso em consideração é: o commit tem que ser curto, objetivo, você tem que bater o olho, simples de você ver, não é um texto, não é uma Bíblia. Segundo, esses commits são imperativos. Então você fala o que foi feito, não o que você fez. Então quando você for criar uma mensagem de commit, o que você tem que pensar? Se eu aplicar esse commit, esse commit vai fazer o quê? Esse commit vai adicionar a tela de login, tela de cadastro, as páginas de login e cadastro. Esse commit vai ajustar o padding no header. Esse commit vai extrair o header em um componente. Simples. E terceiro, Mais importante, eles estão em inglês. Meu amigo, se você faz commit, se você faz, cria variável, coloca nome de método, get usuário, se você faz código em português, você tá errado. Você precisa, como um programador decente, fazer código em inglês. O mundo da programação, ele gira em torno do inglês. Tudo que a gente for pesquisar e fazer em programação tem que ser em inglês. Não sei inglês? Não tem problema, traduz. Vai no Google Tradutor, usa um tradutor para traduzir o que você tá pensando. Vem aqui alterando CSS, copia isso aqui, coloca no Google Tradutor e faz a mensagem de commit em inglês. Mas se force a utilizar o inglês, isso vai mudar a forma como você programa, isso vai mudar a forma como você resolve seus problemas, tá bom? Então isso aqui é um padrão de commit legal, é perfeito, mas tem como melhorar? Claro que tem. Então a forma como eu uso os commits hoje, como eu faço meus commits hoje, é usando emojis. Então pra isso a gente tem uma biblioteca chamada Gitmoji, que basicamente são emojis que vão ajudar você a entender, né, ajudar de uma forma mais visual a entender o que aquele commit está fazendo. E aí, voltando lá pro nosso repositório, um exemplo desses 4 commits é assim. Olha como que é muito mais fácil de você ver um commit quando eu vejo o feat aqui Eu vejo a feature, o fix, refactor e o chore. É muito mais visual, é muito mais prático, é muito mais simples. Quando você bate o olho, você vê. E aqui agora eu vou entregar o ouro para vocês, que é como eu faço os meus commits hoje. Hoje eu fico pensando em fazer commit? Não, hoje a gente tem inteligência artificial para isso. Então hoje eu uso esse carinha aqui, ó, o CodeCially da Sourcegraph. É só você baixar no seu computador, dar um npm install aqui, Eu vou deixar esse link aqui na descrição do vídeo. Você vai instalar no seu computador, depois você vai fazer o login nele. E aqui nessa documentação, por último, ele tem esse código que mostra que você consegue usar o Git Diff, a diferença do seu código no Git, para usar o CodeChat. E aí, por exemplo, no meu projeto, como que eu faço para fazer um commit? Se eu vier aqui no meu repositório de exemplo, Eu vou vir aqui no index, vou remover esse commit e vou mudar aqui para YouTube vídeo. E aí eu venho aqui, digito CCM, eu só espero um pouquinho, ele vai logar, vai inicializar, ele vai fazer, ele vai mandar para aí a diferença que eu tenho no Git na minha máquina, e ele vai me dar um commit já padronizado. Então eu só copio, venho aqui no Git, colo, comito, acabou. Simples assim. E como que eu fiz essa customização aqui? Você vai vir aqui em Code, ZSH é o terminal que eu uso, né, o shell que eu uso. Então eu criei uma função chamada CCM, onde eu passo aquele comando que eu peguei lá no Code CLI, git diff, core-chat, stdin, stdout. Então escreva uma mensagem de commit, somente uma mensagem de commit, o título, né, para descrever as alterações feitas em todos os arquivos para esse diff usando esse padrão emoji mais mensagem. A mensagem deve ser imperativa e em caixa baixa. Os commits disponíveis são esses aqui, eu passo a variável tokens que são build, ci, short, docs, feat, fix, perf, esses aqui. Cara, digitou aqui ccm, acabou, seu commit está pronto. Simples, prático e fácil. Não tem por que mais você ficar quebrando cabeça para digitar e escrever uma mensagem legal. Pode ser que a CI dê uma viajada às vezes? Pode ser. Ela vai fazer isso, mas ela vai pelo menos te dar uma ideia do que você pode escrever. Eu acho que essa dica vale o seu like, então taca o dedo no like aí para me ajudar a continuar produzindo conteúdo aqui para o canal. E é isso que eu tenho para vocês hoje, meus amigos. Espero que vocês tenham gostado, se inscrevam no canal, ative o sininho e manda esse vídeo aqui para aquele seu amigo do seu serviço que tá escrevendo o comente daquele jeito, que é limpeza, que é alguns ajustes, escreve o comente tudo errado, cara. Manda esse vídeo para ele. Vai ajudar eles, vocês vão escrever uns commits mais legais e vai ficar bem legal, bem mais fácil de se encontrar aqui no histórico de commits. Fechou? Valeu, até o próximo vídeo.










