Git: Ramas

Aprende a gestionar ramas en Git con comandos y conceptos esenciales. Mejora tu flujo de trabajo y colabora eficientemente en proyectos.

La 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

  1. Ramas descriptivas: Utiliza nombres de ramas descriptivos que indiquen claramente el propósito de la rama.
  2. Frecuencia de commits: Realiza commits frecuentes y con mensajes claros.
  3. Revisión de código: Antes de fusionar, asegúrate de que el código ha sido revisado y probado.
Certifícate en Git con CertiDevs PLUS

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.