Logo

dev-resources.site

for different kinds of informations.

Git: haz que todos amen leer tus commits

Published at
1/13/2025
Categories
git
github
spanish
vscode
Author
neecosanudo
Categories
4 categories in total
git
open
github
open
spanish
open
vscode
open
Author
11 person written this
neecosanudo
open
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
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

Ahora puedes ejecutar git commit y se abrirá una nueva pestaña en VSCode:

Ejemplo de cómo se ve la terminal 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Por suerte, existe GitMoji para darle un poco más de contexto a tu mensaje usando emojis:

💡 Add comments in source code: TSDoc syntax
Enter fullscreen mode Exit fullscreen mode

¿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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode
➕ Add dependencies

- class-validator
- class-transformer
- @nestjs/mapped-types
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

Ejemplo del comando git log formateado 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:

Ejemplo del comando git log formateado con más detalles

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
Enter fullscreen mode Exit fullscreen mode

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!

👏🏻👏🏻👏🏻

vscode Article's
30 articles in total
Favicon
Master Azure Development: Linking Cloud Shell with VS Code on Windows Made Easy
Favicon
Mega Menu Breaks, CSS3
Favicon
No Copilot? No Problem! Get Free AI in VSCode Now
Favicon
🌟 How to Fix Node.js Path Issues in VS Code (Step-by-Step Guide)
Favicon
Rendering Shopify Liquid Code Locally with VS Code
Favicon
How This VSCode Extension Saves Your Code from Exposed Secrets?
Favicon
Visual Studio Code Extension for Developers
Favicon
How to Configure VSCode for Auto Formatting and Linting in Python
Favicon
Was able to get my terminal looking nice thanks to this post!
Favicon
Context vs. State: Why Context is King in Software Systems
Favicon
Day 7 : C++ language | Comparison Operators
Favicon
Day 5: C++ language | Arithmetic Operators
Favicon
Day 6: C++ Language | Assignment operators
Favicon
Essential custom instructions for GitHub Copilot
Favicon
Just posted on my top 5 VSCode shortcuts :)) Hoping it helps people who might just get into it :))
Favicon
My text editor setup in 2025 and how I came out of extension hell
Favicon
Oh bless me, Father, I have done something unholy: Installing .NET Core on Apple Silicon
Favicon
Day 3: C++ language | Variables | Datatypes | Part-1
Favicon
VSCode Prettier format on save
Favicon
What I Learned Today
Favicon
🌈 Change workspace project color and name in vscode
Favicon
Git: haz que todos amen leer tus commits
Favicon
Unlock Free Microsoft Resources to Supercharge Your Tech Journey 🚀
Favicon
Building a Privacy-First Coding Activity Tracker for VS Code
Favicon
.NET Development Essentials on macOS with VS Code
Favicon
Unlocking the Potential of Visual Studio Code for Web Development Projects
Favicon
Troubleshooting Docker credsStore Auto-Configuration Issues in VS Code Dev Containers
Favicon
How to install vscode in android
Favicon
Introducing Inline Cryptography Toolkit: Simplify Encryption, Decryption, and Hashing in VS Code 🚀
Favicon
Zed IDE vs. NeoVim and Other IDEs: The Future of Modern Coding Environments

Featured ones: