Git y Github
Gestión de ramas (branching)
En este módulo, exploraremos cómo gestionar ramas (branching) en Git. Las ramas permiten desarrollar funciones, corregir errores y experimentar de manera segura, sin afectar la rama principal del proyecto. Una comprensión sólida de las ramas es fundamental para utilizar Git de manera efectiva.
¿Qué es una rama (branch)?
Una rama en Git es una línea de desarrollo independiente. La rama principal, que se crea por defecto, suele llamarse main
o master
. Crear nuevas ramas te permite trabajar en diferentes características o correcciones de bugs sin interferir con la rama principal.
Uso de ramas en Git
Crear una nueva rama
Para crear una nueva rama y cambiar a ella inmediatamente, usa:
bash
Esto crea una nueva rama a partir de la rama actual y te cambia a esa rama.
Ver ramas existentes
Para listar todas las ramas en tu repositorio, usa:
bash
El comando mostrará la lista de ramas actuales, con un asterisco (*) indicando la rama activa.
Cambiar de rama
Para cambiar a una rama existente, usa:
bash
Fusionar ramas
Para fusionar cambios de una rama en otra, primero cambia a la rama de destino:
bash
Luego, fusiona la rama deseada:
bash
Flujo de trabajo típico con ramas
Paso 1: Crear y cambiar a una nueva rama
bash
Paso 2: Realizar cambios y commits en la nueva rama
bash
Paso 3: Cambiar a la rama principal y fusionar los cambios
bash
Paso 4: Eliminar una rama
Si la rama ya no es necesaria, puedes eliminarla:
bash
Ramas remotas
Además de las ramas locales, también puedes trabajar con ramas remotas, que existen en tu repositorio en GitHub.
Listar ramas remotas
Para listar las ramas remotas, usa:
bash
Seguir una rama remota
Para crear una rama local que siga una rama remota:
bash
Subir una rama al repositorio remoto
Para subir una rama y convertirla en una rama remota, usa:
bash
Eliminar una rama remota
Para eliminar una rama remota, usa:
bash
Estrategias de branching
Gitflow
Gitflow es una estrategia de branching que divide el trabajo en ramas específicas para el desarrollo, lanzamiento y hotfixes. Las ramas principales en Gitflow son:
main
: Contiene el código de producción.develop
: Contiene código preparado para la próxima versión.- Ramas de características (
feature
), lanzamiento (release
) y hotfixes (hotfix
).
Trunk-based development
Trunk-based development promueve la integración continua en una sola rama principal (main
o master
), con ramas de vida corta para pequeñas características o correcciones.
Ejemplos prácticos
-
Crear una rama de características:
bash -
Realizar y comitear cambios en la nueva rama:
bash -
Fusionar cambios en la rama principal:
bash -
Eliminar la rama de características:
bash
Con estas técnicas y flujos de trabajo, puedes gestionar eficazmente las ramas en tus proyectos con Git. En el próximo módulo, aprenderemos cómo fusionar ramas y resolver conflictos.
- Introducción a Git y GitHub
- Instalación y configuración de Git
- Fundamentos de control de versiones
- Creación y clonación de repositorios
- Realización de commits y seguimiento de cambios
- Gestión de ramas (branching)
- Fusionado de ramas (merging)
- Resolución de conflictos
- Trabajo colaborativo en GitHub
- Pull requests y revisiones de código
- Uso avanzado de Git (rebase, cherry-pick, etc.)
- Automatización con Git hooks
- Integración continua con GitHub Actions
- Gestión de versiones y lanzamiento de releases
- Conclusiones y mejores prácticas en Git y GitHub