HOWTO · Git
Cómo crear y usar ramas en Git
Este tutorial presenta la rama de Git. Veremos cómo las ramas de Git pueden ayudarte a organizar tu proyecto.
En esta página
Para crear una rama a partir de tu confirmación actual, ejecuta git branch feature/login. Esto crea la rama, pero te mantiene en la rama actual. Para crearla y cambiar a ella en un solo paso, usa git checkout -b feature/login. Las ramas de Git son punteros ligeros a confirmaciones, por lo que cualquiera de los dos comandos inicia la nueva rama en la confirmación de la rama actual, a menos que especifiques otro punto de inicio.
Crear e inspeccionar ramas con git branch
Ejecuta git branch sin argumentos para enumerar las ramas locales. Git coloca un asterisco antes de la rama que está seleccionada actualmente. El siguiente ejemplo crea un repositorio temporal, añade una confirmación, crea una rama temática y enumera las ramas locales. El asterisco marca la rama seleccionada ahora. El shell elimina el repositorio temporal cuando finaliza.
set -eu
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT
git -C "$tmp" init -q -b main
git -C "$tmp" config user.name Example
git -C "$tmp" config user.email example@example.com
printf 'starter\n' > "$tmp/README.md"
git -C "$tmp" add README.md
git -C "$tmp" commit -qm "Add starter file"
git -C "$tmp" branch feature/login
git -C "$tmp" branch
feature/login
* main
Crea una rama sin cambiar a ella ejecutando git branch feature/login. Para renombrar la rama actual, usa git branch -m new-name; para renombrar otra rama local, usa git branch -m old-name new-name. La opción -m renombra una rama; no mueve una rama entre ubicaciones.
Para una rama local fusionada, git branch -d feature/login pide a Git que la elimine y se niega cuando Git la considera no fusionada. Usa git branch -D feature/login solo cuando tengas la intención de eliminar la referencia de la rama local aunque sus confirmaciones puedan no estar fusionadas en otro lugar. Eliminar una rama de esta manera no borra las confirmaciones que siguen siendo alcanzables a través de otra referencia, pero las confirmaciones alcanzables solo desde esa rama pueden ser eliminadas eventualmente por la limpieza de Git.
Estos comandos afectan a las ramas locales. Para eliminar una rama del remoto llamado origin, ejecuta git push origin --delete feature/login. Eso no elimina tu rama local; elimínala por separado si es necesario.
Crear una rama con git checkout -b y cambiar a ella
Usa git checkout existing-branch para cambiar a una rama que ya existe. Usa git checkout -b feature/login para crear una nueva rama en la confirmación actual y cambiar a ella de inmediato. Si el nombre ya existe, Git informa de que no puede crear la rama; elige otro nombre o cambia a la rama existente.
Las ediciones sin confirmar permanecen en el árbol de trabajo cuando cambias de rama si pueden trasladarse de forma segura. Git no confirma esas ediciones ni las guarda exclusivamente en la nueva rama. Permanecen sin confirmar y pueden aparecer en la rama a la que cambies. Si el cambio sobrescribiera una modificación, Git se detiene y te pide que resuelvas primero el conflicto. Confirma el trabajo o usa git stash antes de cambiar cuando necesites mantenerlo separado.
Después de cambiar, ejecuta git status para confirmar la rama actual y ver qué archivos siguen modificados o sin seguimiento. Por ejemplo, después de git checkout -b feature/login, git status debería identificar feature/login; cualquier edición compatible sigue apareciendo como cambios en el árbol de trabajo hasta que los confirmes, los guardes en un stash o los descartes.