Un buen mensaje de commit debe ser descriptivo y aportar contexto sobre los cambios realizados. Esto facilita entender y revisar los cambios en el futuro.
- Empieza con un resumen breve de los cambios del commit.
- Usa el modo imperativo en el resumen, como si dieras una instrucción. Por ejemplo, "Add feature" en lugar de "Added feature".
- Proporciona detalles adicionales en el cuerpo del mensaje, si es necesario: motivo del cambio, impacto, dependencias añadidas o eliminadas, etc.
- Mantén cada línea en 72 caracteres o menos para que sea fácil de leer en la salida de
git log.
- "Add authentication feature for user login"
- "Fix bug causing application to crash on startup"
- "Update documentation for API endpoints"
Recordatorio: escribir mensajes de commit descriptivos ahorra tiempo en el futuro y ayuda a otras personas a entender los cambios hechos al código.
A continuación, una lista (ampliable) de tipos de commit que puedes usar:
feat: Añade una característica nueva al proyecto
feat: Add multi-image upload supportfix: Corrige un error o problema en el proyecto
fix: Fix bug causing application to crash on startupdocs: Cambios en documentación
docs: Update documentation for API endpointsstyle: Cambios cosméticos o de formato (colores, formateo de código, etc.)
style: Update colors and formattingrefactor: Cambios internos que no alteran el comportamiento, pero mejoran calidad/mantenibilidad
refactor: Remove unused codetest: Añadir o modificar tests
test: Add tests for new featurechore: Cambios que no encajan en otras categorías (actualizar dependencias, configurar build, etc.)
chore: Update dependenciesperf: Mejoras de rendimiento
perf: Improve performance of image processingsecurity: Aborda temas de seguridad
security: Update dependencies to address security issuesmerge: Fusiones de ramas
merge: Merge branch 'feature/branch-name' into developrevert: Revertir un commit previo
revert: Revert "Add feature"build: Cambios en el sistema de build o dependencias
build: Update dependenciesci: Cambios en la integración continua (CI)
ci: Update CI configurationconfig: Cambios en archivos de configuración
config: Update configuration filesdeploy: Cambios en el proceso de despliegue
deploy: Update deployment scriptsinit: Inicialización de repositorio o proyecto
init: Initialize projectmove: Mover archivos o directorios
move: Move files to new directoryrename: Renombrar archivos o directorios
rename: Rename filesremove: Eliminar archivos o directorios
remove: Remove filesupdate: Actualización de código, dependencias u otros componentes
update: Update codeEstos son solo ejemplos; puedes definir tipos personalizados si los usas de forma consistente y con mensajes claros y descriptivos.
Importante: Si planeas usar un tipo de commit personalizado que no esté en la lista, añádelo aquí para que otras personas lo entiendan también. Crea un pull request para incluirlo en este archivo.