En Git, una de los pilares principales para trabajar son los commits, una especie de respaldo del estado actual de tu proyecto en el repositorio local, incluyendo todos los cambios que se le han hecho a cada segundo.
Como sabes, utilizar commits te brinda diversos beneficios y para acceder a las confirmaciones de versiones debes emplear el comando git commit. Sin embargo, si buscas eficiencia y rendimiento, te será muy útil saber qué es un Conventional Commit (o Convencional Commit) y por qué podría ayudarte a lograr ese objetivo.
¿Qué es un Conventional Commit?
Un Conventional Commit es una especificación o convención simple que se añade encima de los commits tradicionales, también llamado Conventional Git Commit.
Debes considerar que un cometido es muy similar a un commit, pero la realidad es que un Conventional Commit es un tipo de commit que tiene la función de proveer una serie de reglas específicas a tener en cuenta para crear un historial explícito con commits, más allá de crear el historial directamente. De forma mucho más práctica, piensa que tu Conventional Commit te proporcionará un formato para indicar cómo debes escribir tu Commit.
¿Cómo se utilizan los Conventional Commits?
Para hacer uso de tu Conventional Commit, deberás seguir la siguiente estructura:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
También debes tener en cuenta que, cuando estés comenzando, podrás utilizar herramientas como CommitLint, que supervisa si lo que has escrito cumple con el formato básico del Conventional Commit.
Type:
El tipo de commit (commit types) va a describir la clase de trabajo que realizarás, como el desarrollo de software. Algo similar a lo que hacen las etiquetas con el asunto o las historias. La especificación o la convención va a definir dos formas: fix, cuando hablamos de arreglar bugs, o feat para características. Estas dos no son exclusivas y de ser necesario puedes añadir más. Por ejemplo, CommitLint añade, entre otras, algunas como chore, docs, perf, ci o revert style.
Scope (opcional):
Con Scope (o rango, en español), podrás definir el área sobre la que ejecutarás tu trabajo. Esto va a depender de cada proyecto específico con el que trates. Normalmente va a estar señalado entre paréntesis ( ). Si se ha editado, se marcará con un ! al final de Scope para evidenciarlo.
Por ejemplo, vas a ver rangos para una aplicación web por este estilo:
- (styling)
- (dependencies)
- (database)
Body (opcional):
En el cuerpo podrás poner una descripción si es necesario. Si en el commit que estás describiendo se hizo algún cambio o edición, deben explicarse aquí o en el pie de página con el siguiente formato:
BREAKING CHANGE change description
Footer (opcional):
Los pie de página nuevamente van a depender del proyecto. Sin embargo, ten en cuenta que deben tener un formato muy específico: cada “footer” debe contener un word token seguido por alguna de estas dos opciones: :<space> o <space># y, a continuación, por un string value.
¿Qué ventajas tiene utilizar Conventional Commit?
Tal vez te sigas preguntando cómo todo esto va a impactar en tu eficiencia, por lo que cabe destacar sus dos ventajas principales:
- Son más fáciles de leer: Utilizar algún Conventional Commit hará que leer el historial en los repositorios sea más sencillo, no únicamente para los desarrolladores sino también para los computadores. Esta convención fue diseñada para que, en el proceso de mantenimiento, sea posible revisar de forma rápida cada commit y su función dentro del repositorio.
- Son más fáciles de escribir: Las convenciones facilitan de manera muy evidente el proceso de escritura de un commit. Gracias a la estructura que te brindará el Conventional Commit, no perderás tanto tiempo estancado en el proceso de pensamiento que requiere nombrar cada elemento.
¿Por dónde continuar?
Ya que sabes la utilidad que un Conventional Commit te ofrece para plantear tus Commits generales, puedes decidir en qué momentos utilizarlos y cómo aumentar tu eficiencia gracias a ellos. Si este post te ha funcionado, debes saber que es solamente una pequeña porción de todas las funcionalidades que Git tiene para ofrecerte. Si realmente quieres convertirte en todo un experto del desarrollo, en KeepCoding encontrarás los mejores cursos con un temario muy amplio para que puedas dominar una gran cantidad de herramientas. ¡Échale un vistazo a nuestros bootcamps disponibles!