DEV Community

Cover image for Mensajes de commit personalizados de Git
charly3pins
charly3pins

Posted on • Originally published at charly3pins.dev on

Mensajes de commit personalizados de Git

He estado usando la herramienta CMF durante el último año y creo que su simplicidad es su potencial. Básicamente es una herramienta de terminal desarrollada en Go por Walmart Digital que te ayuda a estandarizar el log de commits de tus proyectos.

Lo he estado usando durante el último año y medio aproximadamente y todo lo que puedo decir es muy útil. Acordamos con el equipo la configuración que queremos utilizar y definimos un conjunto de cambios que aplica en nuestro caso. También elegimos el Jira flow y cambiamos los valores para el cambio agregando un emojis para hacer las confirmaciones un poco más divertidas para comprobarlos en el registro.

Puede instalarlo a través de npm:

npm install -g go-cmf
Enter fullscreen mode Exit fullscreen mode

o desde Go:

go install github.com/walmartdigital/commit-message-formatter
Enter fullscreen mode Exit fullscreen mode

Después de eso, abra una terminal y navegue hasta la raíz del proyecto que desea usar. Luego escriba:

cmf init 
Enter fullscreen mode Exit fullscreen mode

Deberá seleccionar uno de los flujos y creará un archivo .cmf.yaml con la plantilla del seleccionado. Puede editar ese archivo de la forma que desee. La condición única es que cualquier variable que desee utilizar debe definirse mediante {{}}. Ejemplo: {{CHANGE}} le preguntará el "CAMBIO" que hizo y mostrará las opciones que definió en la plantilla.

Aquí está el archivo .cmf.yaml que estoy usando en este sitio:

PROMPT:
    - KEY: "CHANGE"
      LABEL: "Type of change"
      OPTIONS:
        - VALUE: "feat :sparkles:"
          DESC: "A new feature"
        - VALUE: "fix :bug:"
          DESC: "A bug fix"
        - VALUE: "test :rotating_light:"
          DESC: "Adding missing tests or correcting wrong ones"
        - VALUE: "style :lipstick:"
          DESC: "A code change to improve clean code"
        - VALUE: "build-ci :construction_worker_man:"
          DESC: "Changes that affect the build system and/or CI configuration files and scripts"
        - VALUE: "refactor :hammer:"
          DESC: "A code change"
        - VALUE: "docs :books:"
          DESC: "Documentation only changes"
        - VALUE: "chore :card_index:"
          DESC: "Changes that don't fit any of the options above"
    - KEY: "MESSAGE"
      LABEL: "Commit message"
TEMPLATE: "{{CHANGE}}: {{MESSAGE}}"
Enter fullscreen mode Exit fullscreen mode

No dude en comentar aquí o contactarme en mis redes sociales para cualquier comentario, pregunta o sugerencia.

Discussion (0)