Tema 13: Crear y gestionar ramas
En el tema 4 cambiaste entre ramas que ya existían. Ahora puedes crear una para aislar un cambio. git switch -c feature/saludo crea ese nombre en el commit actual y lo selecciona. El prefijo feature/ es una convención de nombres, no una función especial.
git branch experimento crea una rama pero te deja donde estabas. git branch lista los nombres; el asterisco identifica la rama seleccionada. git switch experimento cambia después a ella. Compara este comportamiento con switch -c, que combina creación y selección.
La forma antigua git checkout -b feature/saludo también crea y selecciona. Priorizamos switch -c porque comunica con claridad la acción. Al confirmar, avanza la rama seleccionada; las demás conservan sus referencias, aunque compartan commits anteriores.
git branch -m nuevo-nombre renombra la rama actual. git branch -d experimento intenta borrar otra rama que ya esté integrada en la línea actual. Git protege los commits que podrías perder de vista si aún no se han incorporado. No puedes borrar la rama que tienes seleccionada.
Borrar una rama elimina una referencia local, no edita los archivos de otra rama ni borra automáticamente nada en el servidor. Si ya publicaste un nombre, renombrar localmente no renombra por sí solo la rama del remoto. En estas prácticas gestiona primero ramas locales y conserva las que el reto pida comparar.
Comandos para probar #
1git branch 2git switch -c feature/saludo 3git add README.md 4git commit -m "Añade saludo" 5git switch main 6git branch
Error que conviene evitar #
Usar branch nombre y empezar a editar creyendo que cambiaste de rama. Comprueba el asterisco o utiliza switch -c.
Laboratorio local #
Prueba los comandos y observa qué cambia. Puedes reiniciar sin guardar una entrega. Los retos evaluables y el cuestionario están en las actividades de este tema.
Git / práctica local
Aísla un cambio
Aplicar edición cambia el archivo; git add lo prepara.
Historial de commits
Cada punto representa una versión guardada.
- 0000001: Commit inicial; HEAD → main
Comparar trabajo, índice y HEAD
Trabajo
# Mi proyecto
Índice (staging)
# Mi proyecto
HEAD
# Mi proyecto
TERMINAL
Sesión local preparada. Escribe help para consultar los comandos de este tema.
Comandos disponibles y límites
git --version · git config --global <clave> [valor] git init · git status git add <archivo | .> · git commit -m "mensaje" · git log git log --oneline · git switch <rama> (antes: checkout) git restore [--staged] <archivo> · git commit --amend [-m "mensaje" | --no-edit] git switch --detach <commit> · HEAD · HEAD~1 git diff [--staged | <commit> <commit>] git remote [-v] · git remote add <nombre> <URL> · git remote get-url <nombre> · git remote set-url <nombre> <URL> git clone <URL> git push [-u] <remoto> <rama> ssh-keygen -t ed25519 · ssh -T git@github.com (ficticios) git branch [nombre] · git branch -m <nombre> · git branch -d <rama> · git switch -c <rama> help · clear
Sesión en memoria: recargar descarta la práctica. Doscientas acciones como máximo. Dos archivos editables de hasta 250 líneas. Diez ramas como máximo. El modelo no ejecuta comandos reales ni realiza conexiones externas. diff muestra contenido anterior y posterior por archivo.
Resumen
- Combina las dos operaciones.
- La posición actual se conserva.
- Se utiliza con git branch.
- Usar branch nombre y empezar a editar creyendo que cambiaste de rama. Comprueba el asterisco o utiliza switch -c.