Aprender Git y dominar los mensajes de commit puede ser algo confuso al principio, pero es clave para mantener organizado cualquier proyecto. A medida que aprendo de forma autodidacta, me he dado cuenta de que escribir buenos mensajes no solo facilita la comprensión de los cambios, sino que también me ayuda a repasar y mejorar mi propio progreso.
En este artículo, quiero compartir lo que he aprendido sobre los tipos de commits, su utilidad y cómo escribirlos de forma efectiva. No soy un experto, pero creo que al documentar este conocimiento, puedo ayudar tanto a otros como a mí mismo a mejorar.
Si, como yo, buscas hacer las cosas de la mejor manera, espero que esta guía te inspire a mejorar tus hábitos de desarrollo. ¡Vamos a ello!
Los commit en Git
¿Por qué es importante escribir buenos mensajes de commit? Seguro que te has hecho esta pregunta pero también has tenido clara la respuesta. Para ayudarte mejor a entender el desarrollo de tu proyecto tanto para ti como para tu equipo.
Un mensaje de commit indica que cambios realizaste y a veces, el porqué los realizaste. Ayudándonos a mantener la información sobre las modificaciones realizadas, pudiendo ayudar en localizar problemas generados en los cambios y resolverlos más rápido.
Tipos Principales de Commits y Sus Usos
Estos commits son los más comunes y suelen emplearse en el día a día del desarrollo para reflejar los cambios principales en el código.
- Feat: Añadir nuevas funcionalidad
- feat: añadir sistema de notificaciones para alertas meteorológicas
- Fix: Solucionar errores que afectan al funcionamiento del código
- fix: corregir problema de compatibilidad de iconos en Safari
- Docs: Actualizar o modificar documentación del proyecto.
- docs: actualizar instrucciones de instalación en el README
Commits para Mejorar la Estructura y Documentación
Son ideales para mantener un código limpio, bien estructurado y fácil de entender.
- Style: Ajustes de formato, como espacios, sangrías o renombre de variables.
- style: aplicar formato consistente en estilos
- Refactor: Cambios que mejoran la calidad del código sin alterar su funcionalidad.
- refactor: dividir función principal en subfunciones más específicas
- Cleanup: Eliminar código o recursos obsoletos o innecesarios.
- cleanup: eliminar funciones obsoletas en el módulo de usuarios
- Config: Cambios en configuraciones del proyecto o herramientas.
- config: actualizar reglas de ESLint para admitir funciones flecha
- Env: Ajustes relacionados con configuraciones de entorno.
- env: agregar variable API_KEY al entorno de desarrollo
Reflejan acciones tomadas para solucionar errores, realizar ajustes críticos o revertir cambios.
Errores y Soluciones con Commits
- Hotfix: Solucionar errores críticos en producción.
- hotfix: corregir error crítico en autenticación de usuarios
- Revert: Revertir un cambio anterior para deshacer errores.
- revert: revertir commit 12345 para eliminar cambios en el estilo
- Security: Soluciones o mejoras específicas en la seguridad del proyecto.
- security: implementar bcrypt para cifrado de contraseñas
- Hotfix/security: Correcciones urgentes en vulnerabilidades de seguridad.
- hotfix/security: proteger endpoint de inyección SQL
Commits Avanzados para Procesos y Rendimiento
Estos commits mejoran los flujos de trabajo, optimizan el rendimiento y aseguran la calidad.
- Test: Añadir, modificar o corregir pruebas automatizadas.
- test: añadir pruebas unitarias para cálculos de temperaturas
- Perf (Performance): Optimizar el rendimiento del código.
- perf: reducir tiempo de carga del pronóstico diario
- Ci (Continuous Integration): Cambios en procesos de integración continua o despliegue.
- ci: configurar GitHub Actions para ejecutar pruebas automatizadas
- Build: Ajustes en herramientas de compilación o dependencias del proyecto.
- build: añadir soporte para imágenes SVG en Webpack
- Analytics: Cambios relacionados con herramientas de análisis o métricas.
- analytics: agregar eventos de seguimiento en el botón de contacto
Commits para Experiencia de Usuario y Diseño
Cambios enfocados en la experiencia y apariencia del usuario final.
- Ui (User Interface): Cambios en el diseño visual o la interfaz.
- ui: rediseñar el formulario de búsqueda para mejorar la accesibilidad
- A11y (Accessibility): Mejoras en la accesibilidad de la aplicación.
- a11y: mejorar contraste de texto en botones
- Ux (User Experience): Ajustes para mejorar la interacción con el usuario.
- ux: mejorar mensajes de error del formulario
¡Espero que esta información sobre los tipos de commits y sus usos te sea útil! He recopilado esta lista con la intención de ayudar a mejorar la organización y claridad en el desarrollo de proyectos. Si tienes sugerencias para completar o mejorar la lista, o si te gustaría compartir tu opinión, no dudes en dejar tus comentarios. ¡Tu aporte será muy apreciado!



