Por Oliver Nguyen

Você já ficou entediado com as mesmas mensagens de commit de sempre, todas começando com "update", "fix" ou "feat"? Sabia que os emojis são o avanço mais recente na comunicação humana? Eles conseguem transmitir emoções e ideias em um único caractere e dar vida às suas mensagens! Pense bem: até quando alienígenas chegarem à Terra, eles vão entender rapidamente o significado desses pequenos caracteres! 😎
Ano novo, você novo! Vamos deixar os commits entediantes no passado e abraçar a magia dos emojis para transformar cada commit em uma celebração! 🥳✨
O git.emoji é uma ferramenta escrita em Go que permite usar emojis nas suas mensagens de commit. Ele fornece uma interface de linha de comando simples para ajudar você a escolher o emoji certo para o seu commit. Ele fornece uma interface de linha de comando simples para ajudar você a escolher o emoji certo para o seu commit.
Seja corrigindo um bug, adicionando uma nova feature ou atualizando a documentação, agora você pode se expressar com emojis!
Para instalar o git.emoji, você precisa ter o Go instalado na sua máquina. Você pode baixar a versão mais recente do Go no site oficial. Depois de instalar o Go, você pode instalar o git.emoji com o seguinte comando:
git clone https://github.com/connectlyai/git.emoji.git
cd git.emoji
./build.sh
Agora você deve ter o git.emoji instalado na sua máquina, geralmente em ~/go/bin/git.emoji. Certifique-se de adicionar esse diretório ao seu PATH para poder usar o git.emoji de qualquer lugar.
Vamos verificar se ele foi instalado corretamente:
$ which git.emoji
~/go/bin/git.emoji
E tentar executar o git.emoji:
$ git.emoji
git.emoji - git commit with emoji
git.emoji is a tool to commit your changes with emoji.
It will setup git hooks to commit with emoji, and can
be used as a wrapper of git.
Para começar a usar o git.emoji, você precisa configurar os git hooks no seu repositório. Você pode fazer isso executando o seguinte comando no seu repositório:
git.emoji setup-hooks
Esse comando vai configurar os git hooks necessários para usar o git.emoji nos seus commits. Agora você já pode começar a commitar com emojis!
Vamos começar com um commit simples:
touch README.md
git add .
git.emoji commit -m "edit README"
Esse comando vai abrir um prompt para você escolher um emoji para a sua mensagem de commit. Você pode escolher em uma lista de emojis e adicionar uma mensagem para descrever seu commit. Depois de escolher um emoji e adicionar uma mensagem, o commit será feito com o emoji e a mensagem.
--- 👉 Please choose an emoji 👈 ----------------------
1. Features 💻 ✨ -feat -ft
2. Bug Fixes 🚧 🐛 -fix -fx
3. SDKs/Libraries 🛠️ 📦 -sdk -lib -pkg -tenets
4. Breaking Changes 🔥 💥 -breaking -br -brk -break
5. Code Refactoring ♻️ -refactor -rf -ref -rft
6. Infrastructure 🐳 -infra -if -in -inf
7. Tests 🚨 🧪 -test -ts -tst
8. Chores 🧼 🧹 -chore -ch -chr
9. Reverts ⏳ ⏪ -revert -rv -rev -rvt
10. Releases 🚀 🔖 -release -rl -rel -rls
11. Others 🔍 -other -ot -oth
HINT: You can use command line flag to choose the type:
git commit -feat -m 'message' # 💻 Features
git commit -ft -m 'message' # 💻 Features
git commit -ft1 -m 'message' # ✨ Features
git commit -ch -m 'message' # 🧼 Chore
git commit -ch1 -m 'message' # 🧹 Chore
Enter a number or abbr or emoji (1 | 1a | ft | ft1):
Por exemplo, se você quiser fazer commit de uma nova feature, pode digitar o número 1 ou a abreviação ft para selecionar a categoria Features e o emoji 💻. Cada categoria tem uma lista de emojis para você escolher para descrever o seu commit. Para usar o próximo emoji, você pode digitar 1a ou ft1 para selecionar o emoji ✨, e assim por diante.
Além de usar o prompt interativo, você também pode fazer commit com um emoji direto pela linha de comando. Você pode usar a flag -<abrev> para selecionar o emoji do seu commit. Por exemplo, para fazer commit de uma nova feature, você pode usar o seguinte comando:
git.emoji commit -feat -m "add new feature" # use the 💻 emoji for Features
git.emoji commit -ft -m "add new feature" # use the 💻 emoji for Features
git.emoji commit -ft1 -m "add new feature" # use the ✨ emoji for Features
Assim, você consegue fazer commit das suas mudanças rapidamente, com emojis, sem passar pelo prompt interativo.
Se você não gosta de digitar git.emoji toda vez que quiser fazer um commit, você pode criar um alias do git.emoji como um wrapper para o git. Adicione a seguinte linha ao arquivo de configuração do seu shell (por exemplo, .bashrc, .zshrc, .bash_profile):
alias git=git.emoji
Agora você pode usar o git normalmente, e ele vai automaticamente usar o git.emoji para os seus commits.
git commit -feat1 -m "add new feature" # use the ✨ emoji for Features
Não apenas nos commits: sempre que você usar comandos do git que envolvem fazer commit, como rebase, merge ou cherry-pick, se houver uma mensagem de commit sem emoji, o git.emoji vai pedir que você escolha um emoji para a mensagem. Assim, você garante que todos os seus commits fiquem consistentes e expressivos.
Você não precisa usar os emojis padrão fornecidos pelo git.emoji. Você sempre pode usar seus emojis favoritos, tanto digitando o emoji diretamente ao fazer commit das suas mudanças quanto personalizando os emojis no seu arquivo local emoji.config.
Atualmente, ele suporta dois locais para o arquivo emoji.config:
Com a primeira forma, você pode personalizar e compartilhar os emojis com sua equipe no repositório. Com a segunda forma, você pode personalizar os emojis apenas para o seu repositório local.
Para começar a personalizar seus emojis, você pode executar este comando:
git.emoji write-config
Isso vai perguntar onde você quer salvar o arquivo emoji.config:
Current config file: /Users/i/ws/conn/git.emoji/.git/emoji.config
Where do you want to write the config file?
1. /Users/i/ws/conn/git.emoji/.git/emoji.config
2. /Users/i/ws/conn/git.emoji/emoji.config
Enter a number:
O arquivo de configuração vai se parecer com isso:
[git.emoji "Features"]
icons = 💻 ✨
alias = feat ft
[git.emoji "Bug Fixes"]
icons = 🚧 🐛
alias = fix fx
[git.emoji "SDKs/Libraries"]
icons = 🛠️ 📦
alias = sdk lib pkg tenets
[git.emoji "Breaking Changes"]
icons = 🔥 💥
alias = breaking br brk break
[git.emoji "Code Refactoring"]
icons = ♻️
alias = refactor rf ref rft
[git.emoji "Infrastructure"]
icons = 🐳
alias = infra if in inf
[git.emoji "Tests"]
icons = 🚨 🧪
alias = test ts tst
[git.emoji "Chores"]
icons = 🧼 🧹
alias = chore ch chr
[git.emoji "Reverts"]
icons = ⏳ ⏪
alias = revert rv rev rvt
[git.emoji "Releases"]
icons = 🚀 🔖
alias = release rl rel rls
[git.emoji "Others"]
icons = 🔍
alias = other ot oth
É só editar o arquivo, adicionar seus emojis favoritos, criar as categorias que quiser e salvar o arquivo. Agora você pode usar esses emojis nos seus commits!
O git.emoji funciona configurando git hooks no seu repositório para interceptar as mensagens de commit. Quando você faz um commit, o git hook chama o git.emoji para pedir que você escolha um emoji para a mensagem de commit. Depois de escolher um emoji, o git.emoji adiciona o emoji à mensagem de commit e finaliza o commit.
Os git hooks são configurados no diretório .git/hooks do seu repositório. Se você olhar nesse diretório, verá vários arquivos de hook:
$ ls .git/hooks
applypatch-msg.sample post-commit pre-commit.sample prepare-commit-msg.sample
commit-msg post-merge pre-merge-commit.sample push-to-checkout.sample
commit-msg.sample post-rewrite pre-push.sample reference-transaction
fsmonitor-watchman.sample post-update.sample pre-rebase.sample update.sample
post-applypatch pre-applypatch.sample pre-receive.sample
post-checkout pre-auto-gc prepare-commit-msg
Sempre que o git executa um comando que dispara um hook, ele vai executar o script de hook correspondente. Por exemplo, quando você faz um commit, o git executa o hook commit-msg. É aqui que o git.emoji entra em ação. Ele fornece um script que você pode usar como o hook commit-msg para pedir que você escolha um emoji para a sua mensagem de commit.
Por padrão, todos eles são scripts shell de exemplo vazios. Depois de executar o git.emoji setup-hooks, o hook commit-msg do seu repositório será atualizado para incluir o script do git.emoji. Esse script vai chamar o git.emoji para pedir que você escolha um emoji para a sua mensagem de commit:
$ cat .git/hooks/commit-msg
#!/bin/bash
## START GIT.EMOJI
if [[ -x /Users/i/go/bin/git.emoji ]]; then
/Users/i/go/bin/git.emoji gmoji-commit-msg "$@" < /dev/tty || exit $?
fi
## END GIT.EMOJI
Então você já entendeu a ideia. Sempre que você faz um commit, o hook commit-msg chama o git.emoji, que pede que você escolha um emoji para a sua mensagem de commit. Depois de escolher um emoji, o git.emoji adiciona o emoji à mensagem de commit editando o arquivo .git/COMMIT_EDITMSG.
Outro hook relacionado é o prepare-commit-msg, que é chamado antes de o editor de mensagem de commit ser aberto. É aí que o git.emoji pode adicionar automaticamente um emoji à sua mensagem de commit quando você está fazendo um rebase, merge ou cherry-pick.
O git.emoji traz uma forma nova e expressiva de fazer commit do seu código, adicionando emojis às suas mensagens. Ele melhora a comunicação dentro da sua equipe, deixando a intenção do commit clara e divertida, seja você corrigindo bugs, adicionando features ou lançando atualizações. Com sua integração perfeita nos git hooks e uma configuração de emoji personalizável, é uma ferramenta prática para elevar o seu workflow.
Então, por que continuar com mensagens de commit entediantes quando você pode torná-las vibrantes e significativas? Comece o seu ano novo e faça um upgrade nos seus commits com emojis! 🎉
Eu sou o Oliver Nguyen -- engenheiro de software na Connectly.ai. Gosto de aprender e de me tornar uma versão melhor de mim mesmo todos os dias. De vez em quando, crio novos projetos open source. Compartilho conhecimento e reflexões durante essa jornada.
O post também foi publicado em olivernguyen.io.
©️ 2025 Todos os direitos reservados. Connectly Inc. Desenvolvido com ❤️, globalmente.