Por Oliver Nguyen

¿Alguna vez te aburriste de los mismos mensajes de commit de siempre, todos empezando con "update", "fix" o "feat"? ¿Sabías que los emojis son el último avance en la comunicación humana? Pueden transmitir emociones e ideas en un solo carácter y hacer que tus mensajes cobren vida. Piénsalo, incluso cuando lleguen los extraterrestres a la Tierra, entenderán rápidamente el significado de estos pequeños caracteres. 😎
¡Año nuevo, tú nuevo! Dejemos los commits aburridos en el pasado y abracemos la magia de los emojis para hacer de cada commit una celebración! 🥳✨
git.emoji es una herramienta escrita en Go que te permite usar emojis en tus mensajes de commit. Proporciona una interfaz de línea de comandos simple para ayudarte a elegir el emoji correcto para tu commit. Proporciona una interfaz de línea de comandos simple para ayudarte a elegir el emoji correcto para tu commit.
Ya sea que estés corrigiendo un bug, agregando una nueva funcionalidad o actualizando documentación, ahora puedes expresarte con emojis.
Para instalar git.emoji, necesitas tener Go instalado en tu máquina. Puedes descargar la última versión de Go desde el sitio oficial. Una vez que tengas Go instalado, puedes instalar git.emoji con el siguiente comando:
git clone https://github.com/connectlyai/git.emoji.git
cd git.emoji
./build.sh
Ahora deberías tener git.emoji instalado en tu máquina, usualmente en ~/go/bin/git.emoji. Asegúrate de agregar este directorio a tu PATH para poder usar git.emoji desde cualquier lugar.
Verifiquemos que esté instalado correctamente:
$ which git.emoji
~/go/bin/git.emoji
Y probemos ejecutar 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 empezar a usar git.emoji, necesitas configurar los git hooks en tu repositorio. Puedes hacer esto ejecutando el siguiente comando en tu repositorio:
git.emoji setup-hooks
Este comando configurará los git hooks necesarios para usar git.emoji en tus commits. ¡Ahora puedes empezar a hacer commits con emojis!
Empecemos con un commit simple:
touch README.md
git add .
git.emoji commit -m "edit README"
Este comando abrirá un prompt para que elijas un emoji para tu mensaje de commit. Puedes elegir de una lista de emojis y agregar un mensaje para describir tu commit. Una vez que hayas seleccionado un emoji y agregado un mensaje, el commit se hará con el emoji y el mensaje.
--- 👉 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 ejemplo, si quieres hacer commit de una nueva funcionalidad, puedes ingresar el número 1 o la abreviatura ft para seleccionar la categoría Features y el emoji 💻. Cada categoría tiene una lista de emojis que puedes elegir para describir tu commit. Para usar el siguiente emoji en su lugar, puedes ingresar 1a o ft1 para seleccionar el emoji ✨, y así sucesivamente.
Además de usar el prompt interactivo, también puedes hacer commit con un emoji directamente desde la línea de comandos. Puedes usar la bandera -<abbr> para seleccionar el emoji de tu commit. Por ejemplo, para hacer commit de una nueva funcionalidad, puedes usar el siguiente 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
De esta manera, puedes hacer commit rápido de tus cambios con emojis sin pasar por el prompt interactivo.
Si no te gusta escribir git.emoji cada vez que quieres hacer commit, puedes crear un alias de git.emoji como wrapper de git. Agrega la siguiente línea a tu archivo de configuración de shell (por ejemplo, .bashrc, .zshrc, .bash_profile):
alias git=git.emoji
Ahora puedes usar git como lo harías normalmente, y automáticamente usará git.emoji para tus commits.
git commit -feat1 -m "add new feature" # use the ✨ emoji for Features
No solo al hacer commit: cada vez que uses comandos de git que involucren un commit, como rebase, merge o cherry-pick, si hay un mensaje de commit sin emoji, git.emoji te pedirá que selecciones uno para el mensaje. De esta manera, puedes asegurarte de que todos tus commits sean consistentes y expresivos.
No tienes que usar los emojis predeterminados que ofrece git.emoji. Siempre puedes usar tus emojis favoritos, ya sea ingresando el emoji directamente al hacer commit de tus cambios o personalizando los emojis en tu archivo local emoji.config.
Actualmente, soporta dos ubicaciones para el archivo emoji.config:
Con la primera forma, puedes personalizar y compartir los emojis con tu equipo en el repositorio. Con la segunda, puedes personalizar los emojis solo para tu repositorio local.
Para empezar a personalizar tus emojis, puedes ejecutar este comando:
git.emoji write-config
Esto te preguntará dónde quieres guardar el archivo 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:
El archivo de configuración se verá así:
[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
Solo edita el archivo, agrega tus emojis favoritos, crea las categorías que quieras y guarda el archivo. ¡Ahora puedes usar estos emojis en tus commits!
git.emoji funciona configurando git hooks en tu repositorio para interceptar los mensajes de commit. Cuando haces un commit, el git hook llamará a git.emoji para que selecciones un emoji para tu mensaje de commit. Una vez que hayas seleccionado un emoji, git.emoji lo agregará a tu mensaje de commit y hará el commit.
Los git hooks se configuran en el directorio .git/hooks de tu repositorio. Si miras dentro de este directorio, verás un montón de archivos de hooks:
$ 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
Cada vez que git ejecuta un comando que dispara un hook, ejecutará el script del hook correspondiente. Por ejemplo, cuando haces un commit, git ejecuta el hook commit-msg. Aquí es donde entra git.emoji. Proporciona un script que puedes usar como hook commit-msg para que selecciones un emoji para tu mensaje de commit.
Por defecto, todos son scripts de shell de muestra vacíos. Después de ejecutar git.emoji setup-hooks, el hook commit-msg de tu repositorio se actualizará para incluir el script de git.emoji. Este script llamará a git.emoji para que selecciones un emoji para tu mensaje 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
Así que ya tienes la idea. Cada vez que hagas un commit, el hook commit-msg llamará a git.emoji, que te pedirá seleccionar un emoji para tu mensaje de commit. Una vez que hayas seleccionado un emoji, git.emoji lo agregará a tu mensaje de commit editando el archivo .git/COMMIT_EDITMSG.
Otro hook relacionado es prepare-commit-msg, que se llama antes de que se abra el editor del mensaje de commit. Aquí es donde git.emoji puede agregar automáticamente un emoji a tu mensaje de commit cuando estás haciendo un rebase, merge o cherry-pick.
git.emoji trae una forma fresca y expresiva de hacer commit de tu código agregando emojis a tus mensajes. Mejora la comunicación dentro de tu equipo al hacer que la intención del commit sea clara y divertida, ya sea que estés corrigiendo bugs, agregando funcionalidades o lanzando actualizaciones. Con su integración fluida en los git hooks y una configuración de emojis personalizable, es una herramienta práctica para elevar tu flujo de trabajo.
Entonces, ¿por qué quedarte con mensajes de commit aburridos cuando puedes hacerlos vibrantes y significativos? ¡Empieza tu año nuevo y mejora tus commits con emojis! 🎉
Soy Oliver Nguyen -- ingeniero de software en Connectly.ai. Disfruto aprender y ver una mejor versión de mí mismo cada día. Ocasionalmente lanzo nuevos proyectos de código abierto. Comparto conocimiento y reflexiones durante mi camino.
Esta publicación también está publicada en olivernguyen.io.
©️ 2025 Todos los derechos reservados. Connectly Inc. Creado con ❤️, globalmente.