Chuck's Academy

GIT

Buenas Prácticas en Git

En este capítulo, aprenderemos algunas de las mejores prácticas para trabajar con Git, especialmente cuando colaboramos en proyectos grandes o en equipos distribuidos. Estas recomendaciones te ayudarán a mantener un historial de commits limpio, a mejorar la colaboración con otros desarrolladores y a evitar errores comunes.

Escribir Mensajes de Commit Claros y Descriptivos

Uno de los aspectos más importantes de trabajar con Git es escribir buenos mensajes de commit. Un buen mensaje de commit debe ser claro y descriptivo, proporcionando suficiente información sobre los cambios realizados. Evita mensajes genéricos como "fix" o "cambios", y en su lugar, escribe mensajes que expliquen el por qué y qué del cambio.

Ejemplo de un mal mensaje de commit:

bash
"Un mensaje de commit como 'arreglos' no ofrece ninguna información útil sobre qué se cambió o por qué."

Ejemplo de un buen mensaje de commit:

bash
"Un mensaje de commit como 'Corrige bug en el cálculo de impuestos cuando el total es negativo' describe claramente qué se cambió y por qué es importante."

Realizar Commits Pequeños y Frecuentes

Hacer commits pequeños y frecuentes es una buena práctica que facilita el seguimiento de los cambios y simplifica la resolución de problemas. Cada commit debe estar enfocado en una sola tarea o funcionalidad, lo que hace que el historial sea más legible y fácil de revisar.

Cuando los commits son demasiado grandes, resulta más difícil identificar qué introdujo un error o un problema. Por otro lado, commits pequeños y específicos permiten que los cambios sean revertidos o ajustados con mayor precisión.

Usar Branches de Forma Eficiente

Git es increíblemente poderoso cuando se trabaja con ramas. Aquí tienes algunas recomendaciones para usar branches de manera efectiva:

  • Usar ramas para nuevas características: Crea una nueva rama para cada nueva característica, corrección de errores o experimento. Esto permite trabajar de manera aislada sin afectar la rama principal (main o master).

    bash
  • Mantener la rama principal limpia: La rama principal debe reflejar un estado estable del proyecto. Evita hacer cambios directamente en main a menos que estés seguro de que son cambios listos para producción.

  • Eliminar ramas que ya no se usan: Una vez que una rama ha sido fusionada, puedes eliminarla para mantener el repositorio organizado.

    bash

Rebase vs Merge

Cuando trabajas con múltiples ramas, es posible que tengas que integrar cambios de una rama a otra. Git te ofrece dos maneras de hacerlo: merge y rebase.

  • Merge: Crea un commit de fusión que combina los cambios de ambas ramas.

    bash
  • Rebase: Mueve los commits de una rama sobre otra, creando un historial más limpio y lineal.

    bash

Ambos enfoques son válidos, pero rebase es preferido en proyectos donde se busca mantener un historial de commits lineal y fácil de seguir. Sin embargo, ten cuidado al usar rebase en ramas compartidas con otros desarrolladores, ya que puede reescribir el historial y causar conflictos.

Revisar el Código y Realizar Pull Requests

Cuando trabajas en equipo, es esencial realizar revisiones de código antes de fusionar cambios en la rama principal. Las pull requests son una herramienta útil para esto. Antes de fusionar una rama, abre una pull request para que otros desarrolladores puedan revisar tus cambios y sugerir mejoras o correcciones.

GitHub y GitLab ofrecen una interfaz fácil de usar para abrir y revisar pull requests, lo que facilita la colaboración entre equipos distribuidos.

Proteger la Rama Principal

Una práctica común en proyectos colaborativos es proteger la rama principal (main o master). Esto significa que nadie puede hacer cambios directamente en la rama principal sin pasar primero por un proceso de revisión (usualmente a través de una pull request).

Para proteger una rama en GitHub, sigue estos pasos:

  1. Ve a Settings en tu repositorio.
  2. Selecciona Branches y luego elige la rama que deseas proteger.
  3. Habilita la protección de la rama y establece reglas como requerir revisiones antes de fusionar o asegurarse de que los tests pasen.

Esto garantiza que solo el código revisado y probado llegue a la rama principal.

Mantener el Historial Limpio

El comando git rebase puede ser muy útil para mantener un historial de commits limpio. Usando rebase interactivo, puedes reordenar, fusionar o eliminar commits innecesarios antes de que sean fusionados en la rama principal.

Para iniciar un rebase interactivo en los últimos 5 commits, usa:

bash
"Con el comando 'git rebase -i seguido de HEAD tilde 5', puedes reordenar, combinar o eliminar commits en los últimos cinco cambios realizados."

Mantener un historial limpio facilita la lectura del proyecto y la depuración de problemas en el futuro.

Conclusión

En este capítulo, hemos cubierto algunas de las mejores prácticas para trabajar con Git, incluyendo cómo escribir buenos mensajes de commit, la importancia de hacer commits pequeños y frecuentes, y cómo trabajar con ramas de manera eficiente. También discutimos la diferencia entre merge y rebase, y cómo revisar código mediante pull requests. Siguiendo estas buenas prácticas, podrás mantener un flujo de trabajo limpio y organizado en tus proyectos.

En el próximo capítulo, veremos cómo gestionar los repositorios a largo plazo, y cómo manejar las ramas y etiquetas en proyectos que crecen con el tiempo.


Pregúntame lo que sea