Cuando contribuyes al repositorio de un proyecto Git y confirmas los cambios (commit) se requiere un mensaje que explique las modificaciones introducidas en el código.

Estos mensajes son importantes porque:

  • ayudan a entender los cambios sin tener que revisar el código;
  • facilitan y normalizan la navegación a través del historial de Git; y
  • filtran los cambios para facilitar la generación del archivo CHANGELOG (ver más abajo).

Un artículo de 2014 de Chris Beans evidenció esta importancia e introdujo siete reglas que debía tener un buen mensaje commit:

7 reglas para un buen mensaje commit

  1. Separa el título del cuerpo con una línea en blanco.
  2. Limita el título a 50 caracteres.
  3. Inicia el título con letra mayúscula.
  4. No termines el título con un punto.
  5. Utiliza el modo imperativo en el título.
  6. Limita el cuerpo a 72 caracteres.
  7. Usa el cuerpo para explicar qué y por qué en lugar del cómo.

Visual Studio Code y otros entornos de desarrollo tienen en cuenta estas reglas para facilitar la redacción de estos mensajes; por ejemplo, con parámetros para configurar los límites de caracteres por línea.

Con estas reglas se han asentado entre la comunidad diferentes propuestas para escribir mensajes commit. Destacan:

    Generando el archivo CHANGELOG

    Una de las utilidades más inmediatas de un registro de mensajes cuidado y trabajado es la generación del archivo CHANGELOG.

    Por ejemplo, podrías crear un script para generar el archivo CHANGELOG según la Operación del asunto, agrupándolos en tres apartados: Funcionalidades o Características (Añade, Modifica, Mejora, Elimina), Corrección de errores (Corrige) y Seguridad (Asegura). Luego sólo tendrías que repasarlo para eliminar o depurar los mensajes recogidos.

    Usando Git puedes obtener la lista de todos los commits. Por ejemplo, con sólo el texto del asunto y el identificador completo:

    git log {etiqueta} HEAD --pretty=format:%s

    o en una lista web:

    git log v2.1.0...v2.1.1 \
      --pretty=format:'<li><a href="https://gitlab.com/{usuario}/{proyecto}/commit/%H"> ver commit • </a> %s </li>' \
      --reverse \
      | grep "#changelog"

    o agrupándolos por usuario:

    git shortlog

    o mostrando también el identificador corto de cada commit:

    git log {etiqueta} HEAD --oneline

    o filtrando por los mensajes de corrección de errores:

    git log {etiqueta} HEAD --grep Corrige

    También puedes recurrir a herramientas más refinadas:

    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 *