Buenas practicas para commits - DiegoFigueroaS/SCESI-GitAndGithub-ConflictoTeam GitHub Wiki
El mensaje de commit debe ser escaneable, claro y entendible para cualquier persona que participe en el proyecto, ya sea actual o en el futuro.
A continuación se presentan 5 reglas fundamentales que deben seguirse.
- El mensaje debe describir qué cambia el commit en forma de orden, no en pasado ni en futuro.
- El verbo debe ser en presente imperativo: "add", "fix", "remove", "update".
- Piensa que debe completar esta frase: "Si aplico este commit, entonces este commit..."
Ejemplos correctos:
add search feature
fix problem with login
change color scheme
❌ Incorrecto: added search feature
/ fixed login bug
- Los títulos de los commits no deben terminar en punto (
.
) ni usar puntos suspensivos (...
). - La puntuación es innecesaria en el resumen breve.
Correcto:
fix typo in README
❌ Incorrecto:
fix typo in README.
fix typo in README...
- El resumen (el título) debe ser conciso y directo.
- Si no puedes explicar el cambio en 50 caracteres, probablemente tu commit debería dividirse en varios.
Correcto:
add modal for user creation
❌ Incorrecto:
add modal for user creation and also implement login validations
- Si es necesario, añade detalles adicionales tras una línea en blanco.
- El cuerpo del commit puede explicar el por qué y cómo del cambio.
- Aquí sí se utilizan reglas gramaticales normales (puntos, comas, párrafos).
Ejemplo:
fix login error when password is missing
this issue happened because the backend was returning 400 without
a clear error message. now we correctly show a validation message
on the client side.
Adopta un estándar de prefijos para identificar rápidamente el tipo de cambio:
Prefijo | Descripción |
---|---|
feat | Nueva funcionalidad |
fix | Corrección de un bug |
perf | Mejoras de rendimiento |
build | Cambios en configuración de build / CI/CD |
ci | Cambios en la integración continua |
docs | Cambios de documentación |
refactor | Refactorización de código sin cambios de funcionalidad |
style | Cambios de formato (espacios, comas) |
test | Añadir o actualizar tests |
Formato recomendado:
<tipo>(opcional-scope): descripción corta
Ejemplos:
feat(auth): add password reset feature
fix(api): fix null pointer exception
docs(readme): update installation instructions
# 1. Añades los cambios al staging area
git add .
# 2. Realizas el commit escribiendo en imperativo, sin punto final, usando prefijo semántico
git commit -m "feat: add modal button to booking screen"
# 3. Opcionalmente, si necesitas dar más contexto puedes hacerlo así:
git commit
# Esto abrirá el editor de texto, donde puedes estructurar tu commit así:
feat: add modal button to booking screen
this commit adds a new modal button that opens a booking form
for users to reserve rooms. it is connected with the backend
API and handles form validation on the client side.
# Añadir cambios
git add .
# Commit corto, siguiendo las buenas prácticas
git commit -m "feat: add booking modal button"
# Commit con título y cuerpo en un solo comando
git commit -m "feat: add booking modal button" -m "connects to backend and validates user input"
Recuerda: un buen commit no solo facilita el trabajo en equipo, sino también la automatización, la trazabilidad y el despliegue continuo (CI/CD).