Ramas de Git

1 min

Tabla de contenidos

  1. ¿Por qué las ramas?
  2. Ramas en acción
  3. Merge frente a rebase
  4. Comandos esenciales
  5. Flujo recomendado

1. ¿Por qué las ramas?

Problema sin ramas:

  • Todo el mundo escribe en main
  • Caos total, conflictos permanentes
  • Código roto todo el rato

Solución: ¡ramas!

  • main = siempre estable
  • feature-login = tú desarrollas el inicio de sesión
  • feature-api = un compañero desarrolla la API
  • hotfix-bug = corrección urgente

Cada uno en su carril; se fusiona cuando está listo.

Volver a la tabla de contenidos

2. Ramas en acción

bash
mkdir demo-branches && cd demo-branches
git init

# Base de partida
echo "print('App v1.0')" > app.py
git add . && git commit -m "Versión inicial"

# Crear y cambiar a una rama nueva
git checkout -b feature-login
echo "print('Login system')" > login.py
git add . && git commit -m "Add login"

# Volver a main
git checkout main
echo "print('App v1.1')" > app.py  
git add . && git commit -m "Update main"

# Ver todas las ramas
git branch --all

# Fusionar la feature
git merge feature-login

Resultado: ¡los 2 desarrollos quedan combinados!

Volver a la tabla de contenidos

3. Merge frente a rebase

MERGE:

bash
git merge feature-branch    # Crea un commit de merge
  • Historial: muestra que se han combinado 2 ramas
  • Seguro y simple

REBASE:

bash
git rebase main             # "Desplaza" tus commits después de main
  • Historial: lineal, limpio
  • Más complejo

Recomendación: ¡empieza por MERGE!

Volver a la tabla de contenidos

4. Comandos esenciales

ComandoAcción
git branchListar las ramas
git checkout -b <nom>Crear + cambiar a la rama
git checkout <nom>Cambiar de rama
git merge <branche>Fusionar una rama
git branch -d <nom>Eliminar una rama
git push origin <nom>Enviar la rama

Volver a la tabla de contenidos

5. Flujo recomendado

Flujo simple y eficaz:

  1. Feature nueva:

    bash
    git checkout main
    git pull
    git checkout -b feature-nouvelle-fonctionnalite
  2. Desarrollar:

    bash
    # Código, código, código...
    git add .
    git commit -m "Feature terminée"
  3. Fusionar:

    bash
    git checkout main
    git merge feature-nouvelle-fonctionnalite
    git branch -d feature-nouvelle-fonctionnalite  # Limpiar

¡Eso es todo! Ramas = organización y limpieza.

Volver a la tabla de contenidos