¿Qué es el Conventional Commit?

En el mundo del desarrollo de software, es común trabajar en equipo y colaborar en la misma base de código. En este contexto, el Conventional Commit se ha convertido en una práctica común para facilitar la comprensión y el seguimiento del historial de cambios en el repositorio. En este artículo, exploraremos qué es el Conventional Commit, por qué es importante y cómo los diferentes plug-ins pueden ayudar a aprovechar sus ventajas.

¿Qué es el Conventional Commit?

El Conventional Commit es un estándar de nomenclatura de mensajes de confirmación de cambios (commits) en Git. Este estándar define un formato estructurado para los mensajes de confirmación que ayuda a comprender de manera clara y concisa qué se ha cambiado en el repositorio. A continuación, lo ilustramos con un ejemplo:

Daniel Barriga Grados
Daniel Barriga GradosArquitecto y Desarrollador Front- End y Scrum Master en VIEWNEXT
<tipo>[alcance opcional]: <título>

En esta línea «<tipo>» indica el tipo de cambio realizado en el código (como fix, feat, docs, style, etc.), «[alcance opcional]» indica la parte del código afectada por el cambio (opcional) y «<título>» es una breve descripción del cambio realizado.

Los Conventional Commits se centran en tres tipos principales de cambios: correcciones de errores (fix), nuevas características (feat) y cambios en la documentación (docs). Además, también hay otros tipos de cambios definidos, como mejoras de rendimiento (perf), cambios en la estructura del código (refactor), cambios en la configuración (config), entre otros.

Por qué es importante el Conventional Commit

Los Conventional Commits son importantes por varias razones:

  1. Consistencia: La convención de los Conventional Commits establece un formato estándar para los mensajes de commit, lo que facilita la lectura y la comprensión de los cambios realizados en el código. Además, ayuda a mantener una estructura clara y consistente en los mensajes de commit, lo que facilita la búsqueda de cambios específicos en el historial de Git.
  2. Automatización: Permiten la automatización de ciertas tareas, como la generación de notas de versión o la creación de informes de cambios. Al utilizar una convención consistente para los mensajes de commit, se puede escribir software que procese automáticamente los cambios realizados en el código y genere informes detallados para el equipo de desarrollo y otros stakeholders.
  3. Colaboración: Por último, fomentan la colaboración entre los miembros del equipo de desarrollo. Al utilizar una convención consistente para los mensajes de commit, se facilita la revisión de los cambios realizados en el código por otros miembros del equipo. Además, al tener una estructura clara y consistente en los mensajes de commit, se facilita la comunicación entre los miembros del equipo y se reduce la posibilidad de malentendidos.

El Conventional Commit es importante porque ayuda a estandarizar el historial de cambios del repositorio. Con un formato estructurado y consistente, es más fácil para los desarrolladores comprender los cambios que se han realizado en el repositorio, ya sea en el presente o en el futuro. Además, el Conventional Commit facilita la generación de informes y estadísticas sobre el desarrollo del proyecto, lo que puede ayudar a los gerentes de proyecto a tomar decisiones informadas.

Otra ventaja del Conventional Commit es que es compatible con herramientas de automatización y plug-ins que pueden mejorar el flujo de trabajo. En particular, los plug-ins que se conectan con herramientas de integración continua (CI) y entrega continua (CD) pueden aprovechar los mensajes de confirmación estructurados para automatizar tareas, como la generación de versiones y la creación de etiquetas.

Plug-ins para el Conventional Commit

Hay varios plug-ins disponibles para el Conventional Commit que pueden ayudar a los desarrolladores a aprovechar sus ventajas. A continuación, se describen algunos de los más populares.

Commitizen

Commitizen es un plug-in que proporciona una interfaz de línea de comandos para guiar a los desarrolladores a través del proceso de confirmación siguiendo el formato del Conventional Commit. Cuando se ejecuta el comando «git commit», Commitizen proporciona una serie de preguntas para ayudar a los desarrolladores a completar el mensaje de confirmación de manera consistente y estructurada.

Husky

Husky es un plug-in que se integra con Git para ejecutar scripts de pre-commit y post-commit. Esto significa que se pueden agregar scripts personalizados para validar el mensaje de confirmación antes de que se realice el commit. Por ejemplo, se pueden agregar scripts para verificar si el mensaje de confirmación sigue el formato del Conventional Commit o para verificar si el código cumple con ciertas reglas de estilo.

Semantic-release

Semantic-release es un plug-in que automatiza la publicación de nuevas versiones del proyecto basándose en los mensajes de confirmación. El plug-in analiza los mensajes de confirmación para determinar el nivel de versión semántica, como major, minor o patch. Luego, genera automáticamente una nueva versión y crea una etiqueta en el repositorio. También puede publicar automáticamente la nueva versión en el repositorio de paquetes o en el repositorio de Docker.

Commitlint

Commitlint es un plug-in que se utiliza para validar el formato de los mensajes de confirmación en el repositorio. Con Commitlint, se pueden definir reglas personalizadas para el formato de los mensajes de confirmación, lo que ayuda a garantizar que todos los desarrolladores sigan el mismo formato y que el historial de cambios sea consistente. Además, Commitlint se integra con varios editores de código, como Visual Studio Code, para mostrar advertencias en tiempo real cuando se escribe un mensaje de confirmación que no cumple con las reglas definidas.

Conclusión

El Conventional Commit es un estándar de nomenclatura de mensajes de confirmación que ayuda a estandarizar y estructurar el historial de cambios en el repositorio. Al utilizarlo, los desarrolladores pueden comprender de manera clara y concisa qué se ha cambiado en el repositorio, lo que facilita la colaboración en equipo y la toma de decisiones informadas. Además, los plug-ins de Conventional Commit, como Commitizen, Husky, Semantic-release y Commitlint, pueden automatizar y mejorar el flujo de trabajo de los desarrolladores. En conjunto, el Conventional Commit y los plug-ins pueden ayudar a los desarrolladores a crear un historial de cambios consistente y fácil de seguir, lo que puede mejorar la eficiencia y la calidad del software desarrollado.

Otros artículos relacionados

2023-11-16T16:16:46+01:0013 septiembre, 2023|

¡Compártelo en tus redes sociales!

Ir a Arriba