Imagen Git

Cómo Clasificar tus Cambios en Git: Tipos de Commits y Ejemplos

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
  • 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.
  • 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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio