Git branch
La funcionalidad de las ramas de Git te permite crear nuevas ramas de un proyecto para probar ideas, aislar nuevas características, o experimentar sin impactar al proyecto principal.
Tabla de Contenidos
- Ver Ramas
- Cambiar de Rama
- Crear una nueva Rama
- Renombrar una Rama
- Eliminar una Rama
- Comparar Ramas
- Ayuda con Ramas de Git
- Más Información
Ver Ramas
Para ver las ramas en un repositorio Git, ejecuta el comando:
git branch
Para ver tanto las ramas de seguimiento remoto como las ramas locales, ejecuta el comando:
git branch -a
Habrá un asterisco (*) junto a la rama en la que te encuentras actualmente.
Hay una serie de diferentes opciones que puedes incluir con git branch
para ver diferente información. Para más detalles acerca de las ramas, puedes usar la opción -v
(o-vv
, 0--verbose
). La lista de ramas incluirá el valor SHA-1 y la línea de asunto de confirmación para el HEAD
de cada rama junto a su nombre.
Puedes usar la opción -a
(o--all
) para mostrar las ramas locales así como cualquier rama remota para un repositorio. Si solo quieres ver las ramas remotas, usa la opción -r
(o --remotes
).
Cambiar de Rama
Para moverse a una rama existente, ejecuta el comando:
git checkout NOMBRE-RAMA
Generalmente, Git no permitirá moverse a otra rama a menos que el directorio en el que estás trabajando esté limpio, porque podrías perder cualquier cambio en el directorio de trabajo que no esté confirmado. Tienes tres opciones para manejar tus cambios:
- eliminarlos (ver Git checkout para detalles) o
- confirmarlos (ver Git commit para detalles) o
- reservarlos (ver Git stash para detalles).
Crear una nueva Rama
Para crear una nueva rama, ejecutar el comando:
git branch NOMBRE-NUEVA-RAMA
Ten en cuenta que este comando solo crea la nueva rama. Necesitarás ejecutar git checkout NOMBRE-NUEVA-RAMA
para moverte a ella.
Hay un atajo para crear y moverte a la nueva rama al mismo tiempo. Puedes pasar la opción b
(para rama) con git checkout
. Los siguientes comandos hacen lo mismo:
# Método de 2 pasos
git branch NOMBRE-NUEVA-RAMA
git checkout NOMBRE-NUEVA-RAMA
# Atajo
git checkout -b NOMBRE-NUEVA-RAMA
Cuando creas una nueva rama, incluirá todas las confirmaciones de la rama padre. La rama padre es la rama en la que te encuentras cuando creas la nueva rama.
Renombrar una Rama
Para renombrar una rama, ejecutar el comando:
git branch -m VIEJO-NOMBRE-RAMA NUEVO-NOMBRE-RAMA
# Alternativa
git branch --move VIEJO-NOMBRE-RAMA NUEVO-NOMBRE-RAMA
Eliminar una Rama
Git no te permitirá eliminar una rama en la que te encuentres actualmente. Primero necesitas moverte a una rama diferente, y luego ejecutar el comando:
git branch -d RAMA-A-ELIMINAR
# Alternativa:
git branch --delete RAMA-A-ELIMINAR
La rama a la que te mueves hace la diferencia. Git arrojará un error si los cambios en la rama que estás intentando eliminar no están completamente combinados con la rama actual. Puedes anular esto y forzar a Git a eliminar la rama con la opción -D
(ten en cuenta la letra mayúscula) o usando la opción --force
con -d
o --delete
:
git branch -D RAMA-A-ELIMINAR
# Alternativas
git branch -d --force RAMA-A-ELIMINAR
git branch --delete --force RAMA-A-ELIMINAR
Comparar Ramas
Puedes comparar ramas con el comando git diff
:
git diff PRIMERA-RAMA..SEGUNDA-RAMA
Verás resultados en color para los cambios entre ramas. Para todas las líneas que han cambiado, la versión de SEGUNDA-RAMA
será una línea verde comenzando con un "+", y la versión de PRIMERA-RAMA
será una línea roja comenzando con un "-". Si no quieres que Git muestre dos líneas para cada cambio, puedes usar la opción --color-words
. En cambio, Git mostrará una línea con el texto eliminado en rojo, y el texto agregado en verde.
Si quieres ver una lista de todas las ramas que están completamente combinadas en tu rama actual (en otras palabras, tu rama actual incluye todos los cambios de las otras ramas enlistadas), ejecuta el comando git branch --merged
.
Ayuda con Ramas de Git
Si olvidas cómo utilizar una opción, o quieres explorar otra funcionalidad alrededor del comando git branch
, puedes ejecutar cualquiera de estos comandos:
git help branch
git branch --help
man git-branch
Más Información:
Traducido del artículo - Git Branch Explained: How to Delete, Checkout, Create, and Rename a branch in Git