¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Ramas en Git: crear y cambiar de rama

Después de esta lección: Puedo trabajar en una rama y cambiar de una rama a otra.

Lección de 55 min15 comandosLaboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio

Una rama te deja probar sin romper nada

Una rama en Git es una línea de trabajo paralela que no toca la línea principal. Con ramas puedes probar una idea nueva sin romper lo que ya funciona.

La cafetería de la facultad quiere ensayar una carta de verano. Mientras tanto, la carta de hoy debe seguir intacta para quien la consulte.

Al terminar esta lección

Nota

Puedo trabajar en una rama y cambiar de una rama a otra.

Palabras clave

PalabraQué significa
Ramalínea de commits con nombre propio
mainnombre de la rama principal del proyecto
HEADseñal de la rama y el commit en que estás ahora
Padreel commit anterior al que se construye uno nuevo
Grafo de commitsdibujo de los commits unidos con sus padres

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una rama es un nombre sobre un commit

Una rama no es una carpeta ni una copia. Es un nombre, como main o verano, que apunta a un commit.

Cada commit apunta a su padre, el commit anterior. Si haces un commit nuevo, el nombre de la rama se mueve a él.

Por eso crear una rama es instantáneo: Git no copia ningún archivo.

Crea un repositorio para la carta

Comando
git init -q -b main menu

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Fija tu nombre de autor

Comando
git -C menu config user.name "Estudiante"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Fija tu correo de autor

Comando
git -C menu config user.email "[email protected]"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Escribe la carta de hoy

Comando
printf 'tostada 1.50\ncafe 1.20\n' > menu/carta.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Prepara el archivo

Comando
git -C menu add carta.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Guarda el primer commit

Comando
git -C menu commit -q -m "Crear la carta"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

switch -c crea una rama y entra

El comando git switch -c verano crea la rama verano y te cambia a ella. Lo que hagas desde ese momento queda en verano.

Con git switch main vuelves a la rama principal. Git cambia los archivos de tu carpeta para que coincidan con esa rama.

Mira cómo desaparece y reaparece una línea.

Crea la rama verano y entra

Comando
git -C menu switch -c verano

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Añade una línea a la carta

Comando
printf 'horchata 2.20\n' >> menu/carta.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Guarda el commit en verano

Comando
git -C menu commit -q -am "Incluir la horchata"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lee la carta en verano

Comando
cat menu/carta.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Vuelve a la rama principal

Comando
git -C menu switch main

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lee la carta en main

Comando
cat menu/carta.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

El grafo muestra dónde está cada rama

Con git branch ves las ramas locales. La que lleva un asterisco es en la que estás, la que señala HEAD.

Con git log --graph --all ves el grafo de commits de todas las ramas. Aquí verano lleva un commit más que main. Ese commit es el único que tiene verano y main no.

Lista las ramas

Comando
git -C menu branch

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Dibuja el grafo con los mensajes

Comando
git -C menu --no-pager log --graph --all --format=%s

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lista lo que solo tiene verano

Comando
git -C menu --no-pager log verano --not main --format=%s

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error frecuente

Advertencia

Mucha gente cree que una rama es una copia de la carpeta. No lo es: es un nombre que apunta a un commit. Por eso crearla no ocupa espacio, y por eso el archivo cambia al cambiar de rama.

Sobre este laboratorio y su código: Laboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.