Escrever commits melhores

Fala pessoal, uma coisa que eu sempre achei importantes nos projetos, relacionado com o versionamento de código, é a padronização das mensagens que nós utilizamos em nossos commits. Há alguns anos eu comecei a seguir o padrão de commits proposto pela Conventional Commits, acredito que muitos aqui conhecem, ou pelo menos já viram por aí em alguns projetos.

Porém, para algumas pessoas, ficar digitando feat: ..., fix: ... pode ser um pouco chato, por ser repetitivo ou até mesmo acabam esquecendo, e então os commits ficam uma bagunça, uns com esse prefixo, outros não kkkkk.

Pensando nisso, eu desenvolvi uma CLI para ajudar nesse processo, a ferramenta se chama Git Better Commit (gbc), e serve de auxílio aos commits, basta digitar gbc após fazer o git add <arquivos> e então selecionar a opção, e logo após digitar a mensagem desejada. Nela também é posível escrever commits com emojis, inclusive alterar para os emojis de sua preferência.

Sem emojis: Com emojis:

No mais, espero que gostem da ferramenta, e de qualquer forma, recomendo para todos utilizarem o padrão da Conventional Commits em seus projetos :)

Mais informações no repositório: https://github.com/AllanCapistrano/gbc

Por enquanto só está disponível para distribuições Linux e Termux.

Massa demais! Não consegui usar por quê não consigo usar no termux, não tenho acesso root pra acesar a usr/bin, mas caso conheça uma forma, por favor, me diga kkkkkk eu preciso desse CLI. Valeu! 💜

Opa muito obirgado pelo feedback, como nunca utilizei o termux não tinha levado em consideração isso da `usr/bin`. Vou ficar de olho nisso, para em futuras atualizações ver uma maniera de corrigir isso. Se tudo der certo dou um salve por aqui :) Porém uma solução temporária, seria você baixar o gbc manualmente através da página de [release](https://github.com/AllanCapistrano/gbc/releases), e colocá-lo em um diretório similar ao `usr/bin` no termux que você tenha acesso (inclusive se você souber, me avisa por favor :D). E para utilizar o arquivo de configurações (não é obrigatório) criar, também manualmente, o diretório `~/.config/gbc` e colocar nele o arquivo [`gbc.conf`](https://github.com/AllanCapistrano/gbc/blob/main/config/gbc.conf).
Fala Wesley, acabei de disponibilizar o **gbc** para também poder ser utilizado no Termux basta você seguir as instruções que estão no [README](https://github.com/AllanCapistrano/gbc#install-gbc-for-termux), ou para facilitar, rodar o comando abaixo ```powershell bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/AllanCapistrano/gbc/main/scripts/install-termux.sh)" ``` Somente corrigindo o meu comentário anterior, os passos que eu tinha colocado antes não iriam funcionar, pois o binário do **gbc** foram gerados para outra arquitetura. Porém agora, nessa nova versão, estou realizando o *build* do **gbc** tanto para `x86_64` quanto para `aarch64`. Por conta disso que eu tive que criar um novo *script* exclusivo para funcionar no Termux (além da questão do `/usr/bin`). Pelo que testei, está funcionando corretamente, inclusive as modificações que são feitas no arquivo de configurações. Mas qualquer erro ou *bug*, você pode criar uma [issue](https://github.com/AllanCapistrano/gbc/issues) lá no repositório do projeto. A única coisa que está com problemas é o comando `gbc update`, um novo comando que eu criei para poder atualizar de maneira automática o **gbc** para a versão mais recente. Ainda estou estudando o motivo do erro.
Valeuuuuu! Vou testar e qualquer coisa crio a issue. Meu username: neopromic 😁

Sempre tive esse incomodo a respeito dos commits, os meus sempre ficaram bem desorganizados kkkkk vou usar essa ferramenta com certeza

Por muito tempo escrevi commit como se fosse um bebe que só conhece 10 palavras, até descobrir a padronização da angular. Projeto muito foda, parabens!

kkkkkkk acredito que todo mundo já escreveu uns commits que só fazem sentido no momento da escrita. Muito obrigado!

Cara, que massa. Outro dia eu tava procurando algo exatamente assim e não achei. Comecei a usar o padrão de Commits há alguns meses e essa ferramente vai me ajudar bastante haahah. Valeu não entendi muito bem como usar como emoji, parece ser o mesmo gif ai hahah

Muito obrigado. A questão do emoji é bem sutil, a mudança é somente na mensagem do commit. Por exemplo sem emoji: ![](https://i.imgur.com/h672tp9.png) Com emoji a mensagem fica assim: ![](https://i.imgur.com/7thveN8.png) Mas no menu sempre vai ter o emoji mesmo kkkkkkkkk

Muito massa!

Eu conhecia o commitzen que inclusive é utilizado no tabnews. Realmente escrever commits utilizando o padrão é muito importante para manter um histórico limpo e organizado.

Parabéns pelo projeto!

Muito obrigado! Não conhecia o commitzen, vou dar uma olhada :)

Estou buscando implementar algo assim para a empresa que eu trabalho. Atualmente não temos padronização nos commits e é algo que faz falta...

Mas todos aqui utilizam Windows. Conseguiriamos usar via WSL será?

Opa Victor, com WSL funciona sim, eu testei com o Ubuntu 20.04 e deu tudo certo. Mas se der qualquer erro pode abrir uma [issue](https://github.com/AllanCapistrano/gbc/issues) lá no projeto. Eu tenho interesse em futuramente disponibilizar também para Windows, para funcionar em conjunto com o [Git for Windows](https://gitforwindows.org/). Mas ainda preciso estudar mais a respeito, e ver como fica a questão do arquivo de configuração :) Caso não funcione, um colega aí nos comentário falou a respeito do [commitizen](https://commitizen.github.io/cz-cli/), eu pessoalmente nunca utilizei, mas pode ser que sirva para a sua empresa.
Show de bola! Muito obrigado pelo retorno. Estou nessa nova empresa a pouco mais 2 meses e eles mudaram pro git a pouco tempo... Na minha antiga empresa usavamos linux e um colega meu desenvolveu um .sh que simplificava os comandos do git (Criação de branch, commit, pull e push), coisas bem banais. Aqui eu queria trabalhar em algo parecido, mas começando com uma padronização dos commits já seria um grande avanço para introduzir algo do tipo. Quando tiver um tempinho vou configurar o WSL na máquina e testar. Parabéns pelo projeto!

Projeto muito top, me lembrou a ferramenta husky...

Sobre os emojis não sei se você conhece mas existe um site chamado gitmoji, meio que cada emoji tem um significado, dá uma olhada nesses dois projetos

Muito obrigado, e agradeço também pelas dicas dos emojis :)

Pow, achei interessante o projeto. Meu PC de trabalho é Windows, mas o pessoal é linux. Vou ver se dou uma olhada melhor depois nele. Valeu!

Opa muito obrigado :) futuramente eu penso em disponibilizar também para Windows, mas ainda preciso estudar mais a respeito, e ver como fica a questão do arquivo de configuração.

Muito bom. Obrigado