Conventional Commits
Conventional Commits representa una convención en el proceso de desarrollo de software que busca estandarizar los mensajes de commit en los sistemas de control de versiones como Git. La adopción de esta convención tiene como objetivo principal mejorar la legibilidad de los mensajes de commit a lo largo del tiempo, facilitando así la gestión de versiones, la generación automática de notas de lanzamiento y la navegación por el historial de un proyecto de manera más eficiente. A continuación, te explico en detalle sus componentes clave, beneficios y cómo implementar esta convención en tus proyectos.
Componentes clave de Conventional Commits
Los mensajes de commit según Conventional Commits siguen una estructura específica que incluye un prefijo (tipo), un scope opcional, y una descripción. La estructura general es la siguiente:
<tipo>[opcional alcance]: <descripción>
[opcional cuerpo]
[opcional pie de nota]1. Tipo: Indica el propósito del commit, por ejemplo:
feat: Introduce una nueva característica o funcionalidad al proyecto.fix: Corrige un bug.docs: Cambios en la documentación.style: Cambios que no afectan el significado del código (espacios, formato, etc.).refactor: Cambios en el código que ni corrigen un bug ni añaden una característica.test: Añade o corrige pruebas.chore: Cambios en el proceso de construcción o herramientas auxiliares y bibliotecas.
2. Alcance (Opcional): Proporciona información adicional sobre el contexto del commit, por ejemplo, el módulo o parte del sistema al que afecta.
3. Descripción: Una breve descripción de los cambios, explicando qué hace y por qué, más que cómo.
4. Cuerpo (Opcional): Un espacio para proporcionar una descripción detallada de los cambios introducidos.
5. Pie de nota (Opcional): Sección para incluir notas sobre cambios importantes, como breaking changes, o referencias a IDs de issues resueltos.
Beneficios de Conventional Commits
- Automatización: Facilita la automatización de la generación de notas de lanzamiento y el incremento de versiones semánticas (semver) basándose en los tipos de commits.
- Claridad: Provee un historial de proyecto más legible que permite a los desarrolladores y a las herramientas entender rápidamente el impacto de los cambios.
- Colaboración: Mejora la colaboración en equipos al establecer un estándar claro para los mensajes de commit, haciendo más fácil para todos seguir el desarrollo del proyecto.