Tema 10 · Ramas

Concepto de Rama (Branch) y Creación con git branch / switch

Comprende qué es internamente una rama en Git (un puntero de 41 bytes a un commit), por qué el trabajo aislado es el núcleo de la ingeniería de software y cómo crear ramas con git branch y git switch -c.

¿Qué es una Rama (Branch) en Git?

En Git, una rama no es una copia pesada de toda tu carpeta de proyecto. Es simplemente un puntero móvil y ligero de apenas 41 bytes que apunta al último commit de una línea de desarrollo independiente.

Debido a esta arquitectura, crear o eliminar una rama en Git toma literalmente menos de un milisegundo, sin importar si tu proyecto tiene 1 archivo o 100.000 archivos.

El Principio de Aislamiento de Código

La regla número uno en equipos profesionales es: nunca programes directamente sobre la rama principal (main).

🛡️ El flujo de trabajo aislado:
  1. Si vas a crear una nueva pantalla (por ejemplo, el módulo de quices), creas una rama llamada feature/quices.
  2. Experimentas, pruebas, rompes y arreglas código con total libertad dentro de esa rama.
  3. La rama main permanece 100% estable y lista para producción en todo momento.
  4. Solo cuando tu nueva funcionalidad esté terminada, probada y aprobada, la fusionas de vuelta con main.

Comandos para Trabajar con Ramas

Comando Función
git branch Lista todas las ramas locales existentes. La rama activa se resalta con un asterisco (*).
git switch -c feature/quices El estándar moderno (Git 2.23+): Crea la rama y salta a ella de inmediato en un solo paso.
git checkout -b feature/quices El comando histórico tradicional equivalente para crear y cambiar de rama.
git branch -d feature/quices Elimina una rama local una vez que ya ha sido fusionada (borrado seguro).
git branch -D feature/experimento Fuerza la eliminación de una rama aunque contenga cambios no fusionados.

⚡ Creación y Gestión de Ramas en Terminal

Ejemplo práctico para listar ramas, crear una rama de funcionalidad y verificar la navegación:

crear-ramas.sh
Solo lectura
# 1. Ver en qué rama estamos actualmente:
git branch
# * main

# 2. Crear una nueva rama para una característica y cambiarse a ella:
git switch -c feature/modulo-quices

# 3. Comprobar que ahora la rama activa es la nueva:
git branch
# * feature/modulo-quices
#   main

# 4. Trabajar en esa rama, hacer cambios y confirmar:
git add .
git commit -m "feat(quices): implementar tabla de preguntas y opciones"

# 5. Volver a la rama principal cuando queramos:
git switch main
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual Completo de Git & GitHub Profesional y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.