Sigue las 7 reglas para un buen mensaje commit en Git usando el siguiente patrón:

Operación asunto [ámbito opcional]
«LÍNEA EN BLANCO»
Cuerpo opcional
«LÍNEA EN BLANCO»
Nota(s) al pie opcional(es)

Sólo la primera línea es obligatoria con 50 caracteres o menos. Y el resto no debe superar los 72 caracteres por línea.

No olvides que debes respetar las líneas en blanco cuando incluyas dos o los tres apartados del patrón.

Operación asunto [ámbito opcional]

Línea resumen donde:

  • Operación debe comenzar con letra mayúscula:
    • Añade (Add) – una nueva funcionalidad para los usuarios.
    • Modifica (Change) – alguna característica de una funcionalidad dada.
    • Elimina (Remove) – definitivamente una funcionalidad obsoleta.
    • Corrige (Fix) – un error que afecta al usuario.
    • Asegura (Security) – o mitiga una vulnerabilidad en el código.

    • Mejora (Improve) – el rendimiento o el uso de una funcionalidad existente.
    • Actualiza (Update) – sin añadir ni modificar funcionalidades, por ejemplo al refactorizar código, añadir documentación o incluir scripts de compilación y configuraciones.
    • Retoca (Tweak) – alguna particularidad del aspecto o una funcionalidad determinada.

    • Inicia (Initial) – para empezar el proyecto; por ejemplo Inicia el repositorio (Initial commit).
    • Integra (Merge) – la petición de fusión #123 de algúnusuario/algunarama.
    • Libera (Release) – la versión X.Y.Z del proyecto.
  • asunto (subject) debe completar la frase imperativa y terminar sin punto.
  • ámbito (scope) es opcional, omitiendo los corchetes si no se indica. Según el proyecto se pueden definir ámbitos como config, logging, common, framework, middleware, tests, database, lib, reporting, doc, browser, events, preprocessor, webserver, proxy, license, etc…

Evita generalidades o resúmenes fuera de contexto. Y si cuesta trabajo resumir, quizás estás haciendo 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 sí 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.
  • Por ejemplo, puedes usar el pie para indicar las peticiones relacionadas que se han cerrado o se han visto afectadas (separadas por coma si son más de una).

Ejemplo de un mensaje commit

Actualiza el resumen con 50 caracteres o menos

Texto explicativo opcional más detallado, usando 72 caracteres o menos
por línea. En general, la primera línea se puede interpretar como el
asunto en un correo electrónico y el resto como el cuerpo.

Se explica el problema que resuelve este commit, QUÉ hace y POR QUÉ lo
hace. Para el CÓMO basta con mirar el código. Si hay efectos secundarios
u otras consecuencias poco intuitivas con este cambio, también hay que
explicarlo.

La línea en blanco que separa el resumen del cuerpo es crítica (a menos
que se omita el cuerpo por completo); varias herramientas como `log`,
`shortlog` o `rebase` pueden confundirse si no se deja esa línea en
blanco.

Otros párrafos pueden venir después de líneas en blanco:

 - Se pueden escribir listas de viñetas como esta.

 - Normalmente se usa un guión o un asterisco para la viñeta, precedido
   por un espacio y con líneas en blanco en el medio, pero aquí las
   convenciones pueden variar.

En el pie, se pueden poner referencias a las peticiones relacionadas que
se han cerrado o tienen interés. Por ejemplo:

Resuelve #123, #456
Ver también #789

Para revertir un commit

Si el commit revierte uno anterior usa el siguiente formato:

Revierte "Resumen del commit revertido"
«LÍNEA EN BLANCO»
Se revierte la aplicación del commit {hash}.

donde {hash} es el SHA del commit que se revierte.

Última revisión: 10/10/2022

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *