Git: Ramas
Aprende a gestionar ramas en Git con comandos y conceptos esenciales. Mejora tu flujo de trabajo y colabora eficientemente en proyectos.
Aprende Git GRATIS y certifícateLa gestión de ramas en Git es una habilidad esencial para cualquier desarrollador que trabaje en equipo o en proyectos complejos. Las ramas permiten trabajar en diferentes características o correcciones de manera aislada, lo que facilita la colaboración y el mantenimiento del código. A continuación, se presentan conceptos y comandos clave para manejar ramas en Git de manera eficiente.
Creación de una rama
Para crear una nueva rama, utiliza el siguiente comando:
git branch nombre-de-la-rama
Este comando crea una nueva rama llamada nombre-de-la-rama
basada en la rama actual. Para cambiar a la nueva rama, usamos:
git checkout nombre-de-la-rama
A partir de Git 2.23, se puede utilizar el comando switch
para cambiar de rama:
git switch nombre-de-la-rama
Creación y cambio a una nueva rama en un solo paso
Es posible crear y cambiar a una nueva rama en un único comando:
git checkout -b nombre-de-la-rama
O utilizando switch
:
git switch -c nombre-de-la-rama
Listado de ramas
Para listar todas las ramas en el repositorio, puedes usar:
git branch
Las ramas locales se mostrarán con un asterisco (*) indicando la rama actual.
Fusionar ramas
Para fusionar cambios de una rama a otra, primero cambia a la rama de destino y luego ejecuta el comando de fusión:
git checkout rama-destino
git merge nombre-de-la-rama
Resolución de conflictos
Durante la fusión, pueden surgir conflictos. Git indicará los archivos en conflicto, los cuales deben ser editados manualmente para resolver las discrepancias. Una vez resueltos, añade los archivos y finaliza la fusión:
git add archivo-en-conflicto
git commit
Eliminación de ramas
Para eliminar una rama que ya no es necesaria:
git branch -d nombre-de-la-rama
Si la rama no ha sido fusionada, Git mostrará un mensaje de advertencia. Para forzar la eliminación:
git branch -D nombre-de-la-rama
Ramas remotas
Para trabajar con ramas remotas, primero hay que obtener la lista de ramas remotas:
git fetch
Para crear una nueva rama basada en una rama remota:
git checkout -b nombre-de-la-rama origin/nombre-de-la-rama-remota
Para eliminar una rama remota:
git push origin --delete nombre-de-la-rama
Rebasing
El rebase es otra forma de integrar cambios de una rama a otra. En lugar de fusionar, rebase aplica los cambios uno por uno:
git checkout rama-destino
git rebase nombre-de-la-rama
El rebase puede resultar en conflictos, similares a los de una fusión, que deben ser resueltos manualmente.
Buenas prácticas
- Ramas descriptivas: Utiliza nombres de ramas descriptivos que indiquen claramente el propósito de la rama.
- Frecuencia de commits: Realiza commits frecuentes y con mensajes claros.
- Revisión de código: Antes de fusionar, asegúrate de que el código ha sido revisado y probado.
Lecciones de este módulo de Git
Lecciones de programación del módulo Ramas del curso de Git.
Ejercicios de programación en este módulo de Git
Evalúa tus conocimientos en Ramas con ejercicios de programación Ramas de tipo Test, Puzzle, Código y Proyecto con VSCode.