dev-resources.site
for different kinds of informations.
Git: haz que todos amen leer tus commits
¿Por qué es importante tener un buen mensaje en tus commits? Porque estos cuentan la historia de tu proyecto.
Ademas, la redacción de estos mensajes es parte de tu huella digital como programadora: habla de que tienes la capacidad de conceptualizar los cambios en tu repositorio.
¿Qué vas a aprender?
Vas a aprender a hacer un commit como este:
# Resultado final de commit
➕ Add dependencies
- class-validator
- class-transformer
- @nestjs/mapped-types
Pin those dependencies to specific versions
Empecemos por configurar Git
La terminal no es un lugar tan práctico para escribir mensajes de commits con la estructura que vas a aprender. Por eso te vas a llevar un truco: ¡Dile a Git que editor de texto quieres utilizar!
En el ejemplo se utiliza VSCode, pero puedes usar el editor de texto de tu preferencia.
En una terminal, introduces el comando:
git config --global core.editor "code --wait"
Ahora puedes ejecutar git commit
y se abrirá una nueva pestaña en VSCode:
Nota: hasta no cerrar la ventana, no se van a guardar los cambios.
Hablemos del mensaje
El mensaje que viste al comienzo del post tiene la siguiente estructura: encabezado, cuerpo y pie de mensaje.
[Encabezado] --> Mensaje principal
--> Salto de línea
[Cuerpo] --> Contexto agregado sobre el commit
--> Salto de línea
[Pie] --> Información adicional
Existe una convención implícita en la comunidad: en lo posible, cada línea no debe superar los 72 caracteres de longitud.
Encabezado
Para ser directos y ahorrar caracteres, los mensajes deben empezar con un verbo en infinitivo:
Add comments in source code: TSDoc syntax
Por suerte, existe GitMoji para darle un poco más de contexto a tu mensaje usando emojis:
💡 Add comments in source code: TSDoc syntax
¿Te animás a un ejercicio rápido? Busca un emoji en nuestro nuevo recurso para el siguiente mensaje:
release: prepare version 2.0.0
Cuerpo
Puede que necesites dar información adicional sobre los cambios. Para eso dejas una línea de espacio para separar con el encabezado y escribes el cuerpo del mensaje:
🔥 Remove dead files
- src/test.spec.ts has not relative
- src/README is useless. Current README is in root directory
➕ Add dependencies
- class-validator
- class-transformer
- @nestjs/mapped-types
Pie
Si necesitas agregar un último comentario adicional, puedes escribir un pie de mensaje dejando una línea de separación.
🩹 Fix minor typos in code
See the issue for details on the typos fixed
Fixes issue #12
Sobre las reglas de ortografía
Detalles como “terminar oraciones en punto” o “arrancar oraciones en mayúsculas” son decisiones que vas a tomar sola (si es para un proyecto personal) o con tu equipo de trabajo.
Lo importante es que mantengas la consistencia de usar la misma convención de formato de mensajes a través de todos los commits.
Bonus: atajo para visualizar mejor los mensajes de commits
En este punto, tus mensajes de commits se ven increíbles ¡Te ganaste un bonus!
Vas a configurar 2 alias en Git para que el tradicional git log
se vea más bonito en consola.
Resultado de alias con forma simple:
¿Qué significa todo eso?
- Cada asterisco representa un commit.
- Solo se muestra la primer línea de cada mensaje y el ID de cada commit.
- Si hay un
merge
en el historial de tu rama, también lo va a mostrar.
Resultado de alias con forma detallada:
A la forma simple, se agregan los detalles de antigüedad y quién hizo el commit.
Puedes agregar estos alias ejecutando en una terminal los comandos:
# Forma simple
git config --global alias.lg "log --graph --all --decorate --oneline"
## Uso: git lg
# Forma detallada
git config --global alias.lgd "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"
## Uso: git lgd
Ya sabes escribir commits como una experta
Vimos la importancia de los mensajes de tus commits para tu marca personal, configuraste Git para trabajar con tu editor de texto favorito y aprendiste como escribir mensajes increíbles.
¡FELI - CITA - CIONES!
👏🏻👏🏻👏🏻
Featured ones: