Branches
Estos comandos permiten gestionar ramas (branches) y moverse entre ellas de forma controlada en Git.
Conceptos clave asociados
- Branch
- Línea independiente de desarrollo dentro del mismo proyecto.
- HEAD
- Apuntador a la rama actual.
- Merge
- Proceso de unir cambios de una rama a otra.
1. git branch
Permite crear, listar y eliminar ramas.
Listar ramas
git branch
Muestra todas las ramas locales.
La rama actual se marca con *.
Crear una nueva rama
git branch nombre-rama
- Crea la rama
- No cambia automáticamente a ella
Ejemplo:
git branch feature-login
Eliminar una rama
git branch -d nombre-rama
- Solo elimina si ya fue fusionada (merge)
- Para forzar:
git branch -D nombre-rama
2. git checkout
Permite cambiar entre ramas o restaurar archivos.
Cambiar de rama
git checkout nombre-rama
Ejemplo:
git checkout feature-login
Restaurar archivo a versión anterior
git checkout -- archivo.txt
- Revierte cambios no confirmados (no commit)
Este comando puede borrar cambios locales si no han sido guardados con commit.
3. git checkout -b
Forma rápida de:
- Crear una rama
- Cambiar a ella en un solo paso
git checkout -b nueva-rama
Ejemplo:
git checkout -b feature-carrito
Equivale a:
git branch feature-carrito
git checkout feature-carrito
4. git switch (alternativa moderna)
Git introdujo este comando para separar funciones de checkout.
Cambiar de rama
git switch nombre-rama
Crear y cambiar
git switch -c nueva-rama
git switch es más claro para estudiantes porque evita confusión con restauración de archivos.
5. Flujo completo usando estos comandos
git clone repositorio
git branch feature-login
git checkout feature-login
# editar archivos
git add .
git commit -m "Se agrega login"
git checkout main
git merge feature-login