🌿 Cómo funcionan las ramas en Git (branching explicado fácil y profesional)


https://i.sstatic.net/qp7BB.png


Si ya entiendes el flujo básico de Git, ahora viene el punto donde realmente se vuelve poderoso:

Las ramas (branches).

Las ramas permiten trabajar en diferentes versiones de un proyecto sin romper nada.

Y son la base de cómo trabajan equipos reales en producción.

En esta guía aprenderás:

  • qué son las ramas
  • cómo funcionan internamente
  • cómo crearlas y usarlas
  • ejemplos reales
  • buenas prácticas profesionales

🧠 Qué es una rama en Git


Una rama es simplemente:

Una línea independiente de desarrollo.

Por defecto, tu proyecto empieza en una rama llamada:

main

🧾 Ejemplo sencillo


Imagina que tienes una web:

  • main → versión estable
  • login → nueva funcionalidad

Puedes trabajar en login sin afectar main.



⚙️ Cómo funciona internamente


https://git-scm.com/book/en/v2/images/advance-master.png


Git no copia archivos cuando crea una rama.

👉 Solo crea un puntero a un commit.

Eso significa:

  • las ramas son ligeras
  • son rápidas
  • puedes crear muchas

🌱 Crear una rama


git branch nueva-rama

🔄 Cambiar de rama


git checkout nueva-rama

⚡ Crear y cambiar en un solo paso


git checkout -b nueva-rama

🔍 Ver ramas


git branch

La actual aparece con *



✍️ Trabajar en una rama


Ejemplo:

git checkout -b feature-login
touch login.php
git add .
git commit -m "Agrega login"

👉 Todo esto ocurre solo en esa rama.



🔀 Unir ramas (merge)


git checkout main
git merge feature-login

Esto trae los cambios a main.



🧪 Ejemplo real completo


git checkout -b feature-navbar
# haces cambios
git add .
git commit -m "Agrega navbar"
git checkout main
git merge feature-navbar

🧠 Tipos de ramas comunes


🟢 main / master

Código estable



🟡 feature/*

Nuevas funcionalidades

Ejemplo:

feature-login
feature-carrito

🔴 hotfix/*

Correcciones urgentes



🔵 develop

Versión en desarrollo (opcional)



⚠️ Conflictos en ramas


Ocurren cuando:

  • dos ramas modifican lo mismo

Git no sabe cuál elegir.



Ejemplo de conflicto


<<<<<<< HEAD
código A
=======
código B
>>>>>>> rama

Debes:

  • editar manualmente
  • elegir versión
  • hacer commit

🧠 Concepto clave


Las ramas permiten experimentar sin riesgo.

Puedes:

  • probar cosas
  • equivocarte
  • eliminar la rama si no funciona

🧹 Eliminar una rama


git branch -d nombre-rama

🌍 Ramas remotas


Subir rama:

git push origin nombre-rama

🚀 Flujo profesional con ramas


git checkout -b feature
git add .
git commit -m "Nueva funcionalidad"
git push origin feature

🧠 Buenas prácticas


✔️ Usa ramas para cada funcionalidad

✔️ No trabajes directo en main

✔️ Nombres claros

✔️ Elimina ramas innecesarias

✔️ Haz merge limpio


❌ Errores comunes


❌ Trabajar siempre en main

❌ No usar ramas

❌ No hacer merge correctamente

❌ No borrar ramas antiguas


📌 Resumen visual

main ────────●──────●
              \
               ●────● (feature)





🧠 Conclusión:


Las ramas son el corazón de Git.

Te permiten:

  • trabajar sin miedo
  • colaborar
  • mantener estabilidad

Y lo mejor:

Son simples una vez que las entiendes.



Volver al post Pilar: