La primera versión de gitmoji es de 2020. Desde entonces se han liberado nuevas versiones de esta propuesta para registrar los mensajes commit en Git usando emojis.
El uso de emojis (que no emoticonos) es muy visual permitiendo identificar fácilmente el propósito o la intención de un cambio. Al haber muchos emojis diferentes, gitmoji proporciona una guía para ayudar a elegir el más apropiado. Usa este patrón:
<propósito> [ámbito opcional:] mensaje
«LÍNEA EN BLANCO»
Cuerpo opcional
«LÍNEA EN BLANCO»
Nota(s) al pie opcional(es)
La primera línea es obligatoria y no debería exceder los 50 caracteres. El resto no deberá tener más de 72 caracteres por línea. Y no olvides que las líneas en blanco deben respetarse si se incluyen dos o los tres apartados de la plantilla.
<propósito> [ámbito opcional:] mensaje
Donde:
- propósito: sería un emoji de la lista.
- ámbito: un texto opcional entre corchetes para añadir información sobre el alcance del cambio. Por ejemplo puedes indicar el nombre de la característica a la que afecta el commit, como
core
,elements
,forms
,http
,server
, etc… - mensaje: explicando brevemente el cambio, con la primera letra en mayúscula y sin escribir punto al final. Evita las generalidades o descripciones fuera de contexto. Y si te cuesta trabajo resumir, quizás estás aplicando demasiados cambios a la vez.
Cuerpo opcional
- Omite el Cuerpo (Body) si el resumen es suficiente para explicar el contenido y el contexto.
- Mantén el tono imperativo. Puedes usar varias frases y crear listas con guiones o asteriscos. Las frases terminan con punto.
- Debes explicar el qué y el por qué, en lugar de el cómo; para que futuros colaboradores entiendan las razones de haber escogido una solución frente a otras.
Nota(s) al pie opcional(es)
- El Pie (Footer) es opcional.
- Es útil para enumerar las peticiones cerradas o afectadas por el cambio (separadas por coma si son más de una).
La lista de emojis
Añade / Modifica
- ✨ (
:sparkles:
) Introduce nuevas características - 📝 (
:memo:
) Añade o modifica la documentación - 🔧 (
:wrench:
) Añade o modifica archivos de configuración - 🔨 (
:hammer:
) Añade o modifica scripts de desarrollo - 📦️ (
:package:
) Añade o modifica archivos compilados o paquetes - 📄 (
:page_facing_up:
) Añade o modifica licencia - 🍱 (
:bento:
) Añade o modifica activos - 💡 (
:bulb:
) Añade o modifica comentarios en el código fuente - 💬 (
:speech_balloon:
) Añade o modifica textos y literales - 🔊 (
:loud_sound:
) Añade o modifica logs - 🏷️ (
:label:
) Añade o modifica tipos - 🌱 (
:seedling:
) Añade o modifica archivos semilla - 🔐 (
:closed_lock_with_key:
) Añade o modifica información restringida - 📸 (
:camera_flash:
) Añade o modifica imágenes instantáneas - 🩺 (
:stethoscope:
) Añade o modifica comprobaciones de salud - 🙈 (
:see_no_evil:
) Añade o modifica un archivo .gitignore - 👥 (
:busts_in_silhouette:
) Añade o modifica colaborador(es) - ✅ (
:white_check_mark:
) Añade, modifica o registra pruebas superadas - 🧪 (
:test_tube:
) Añade una prueba fallida - 🚩 (
:triangular_flag_on_post:
) Añade, modifica o elimina indicadores de características - 📈 (
:chart_with_upwards_trend:
) Añade o modifica analíticas o código de seguimiento - 👷 (
:construction_worker:
) Añade o modifica el entorno de Integración Continua (CI)
Elimina
- 🔥 (
:fire:
) Elimina código o archivos - ⚰️ (
:coffin:
) Elimina código muerto - 🔇 (
:mute:
) Elimina logs
Corrige
- 🐛 (
:bug:
) Corrige un error - 🩹 (
:adhesive_bandage:
) Solución simple para un problema no crítico - 🚑️ (
:ambulance:
) Corrige un error crítico - 🔒️ (
:lock:
) Soluciona problemas de seguridad - ✏️ (
:pencil2:
) Arregla errores ortográficos - 🚨 (
:rotating_light:
) Soluciona advertencias del compilador / linter (analizador del código fuente) - 💚 (
:green_heart:
) Corrige problemas de Integración Continua (CI)
Mejora
- 🎨 (
:art:
) Mejora estructura / formato del código - ⚡️ (
:zap:
) Mejora el rendimiento - ♿️ (
:wheelchair:
) Mejora la accesibilidad - 🚸 (
:children_crossing:
) Mejora la experiencia de usuario / usabilidad - 🔍️ (
:mag:
) Mejora el SEO - 🧑💻 (
:technologist:
) Mejora la experiencia del desarrollador
Código / Desarrollo
- 🎉 (
:tada:
) Inicia un proyecto - 💥 (
:boom:
) Introduce cambios que rompen la compatibilidad - 🏗️ (
:building_construction:
) Realiza cambios en la arquitectura - 👔 (
:necktie:
) Añade o modifica la lógica de negocio - 🛂 (
:passport_control:
) Trabaja código relacionado con autorización, roles y permisos. - 🧵 (
:thread:
) Trabaja código relacionado con subprocesos o concurrencia - 👽️ (
:alien:
) Modifica código por cambios en API externa - ♻️ (
:recycle:
) Refactoriza el código - ⏪️ (
:rewind:
) Revierte cambios - 🔀 (
:twisted_rightwards_arrows:
) Fusiona ramas - 🔖 (
:bookmark:
) Etiquetas de Lanzamiento / Revisión - 🚚 (
:truck:
) Mueve o renombra recursos (p.e. archivos, caminos, rutas) - 🗑️ (
:wastebasket:
) Código obsoleto que necesita ser eliminado - 💩 (
:poop:
) Añade código de mala calidad que necesita ser mejorado - 🥚 (
:egg:
) Añade o modifica un huevo de pascua
Dependencias
- ➕ (
:heavy_plus_sign:
) Añade una dependencia - ➖ (
:heavy_minus_sign:
) Elimina una dependencia - ⬆️ (
:arrow_up:
) Actualiza las dependencias - ⬇️ (
:arrow_down:
) Degrada las dependencias - 📌 (
:pushpin:
) Fija dependencias a versiones específicas
Interfaz de usuario / Diseño
- 🌐 (
:globe_with_meridians:
) Internacionalización y localización - 💄 (
:lipstick:
) Añade o actualiza la interfaz de usuario y los archivos de estilo - 💫 (
:dizzy:
) Añade o modifica animaciones y transiciones - 📱 (
:iphone:
) Trabajando en diseño responsive
Datos
- 🗃️ (
:card_file_box:
) Realiza cambios relacionados con la base de datos - 🧐 (
:monocle_face:
) Exploración / inspección de datos
Infraestructura / Otros
- 🚀 (
:rocket:
) Despliega elementos - 🧱 (
:bricks:
) Cambios relacionados con la infraestructura - 💸 (
:money_with_wings:
) Añade patrocinios o infraestructura económica relacionada - 🚧 (
:construction:
) Trabajo en progreso - ⚗️ (
:alembic:
) Realiza experimentos - 🥅 (
:goal_net:
) Captura errores - 🤡 (
:clown_face:
) Burlarse de algo
Notas
- Existe la extensión gitmoji para Visual Studio Code que facilita la selección del emoji más apropiado para nuestro mensaje de confirmación.
- Puedes usar la herramienta gitmoji-changelog para crear o actualizar el archivo CHANGELOG del proyecto.
- Cada emoji requiere 4 bytes para su registro. Si los mensajes deben guardarse en una base de datos MySQL será necesario configurarla para soportar utf8mb4.
Última revisión: 13/10/2022
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!