¿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

Repositorio remoto: clone, push y pull

Después de esta lección: Puedo clonar un repositorio y explicar cuándo subir y cuándo bajar cambios.

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

Un remoto es la copia compartida del proyecto

Un repositorio remoto es una copia de tu proyecto guardada en un servidor, como Gitea o GitHub, que todo el equipo puede leer y escribir. Con tres comandos, clone, push y pull, compartes tu trabajo y recibes el de los demás.

Un grupo de prácticas de cuatro estudiantes necesita un lugar común para su código. Sin remoto, se lo pasarían por correo.

Al terminar esta lección

Nota

Puedo clonar un repositorio y explicar cuándo subir y cuándo bajar cambios.

Palabras clave

PalabraQué significa
Remotocopia compartida de un repositorio en un servidor
Clonarcopiar un repositorio con todo su historial
originnombre que recibe el remoto del que clonaste
Pushsubir tus commits al remoto
Pullbajar los commits nuevos del remoto a tu rama

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

Un clon copia todo el historial

Para trabajar con un remoto lo clonas. Recibes todos los archivos y todos los commits anteriores, y tu copia recuerda de dónde vino.

El Gitea del laboratorio tiene un repositorio llamado hello-git. Lo vas a clonar en una carpeta de práctica llamada copia. Esa carpeta es solo para mirar.

Clona el repositorio en copia

Comando
git clone -q http://gitea:3000/student/hello-git.git copia

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

Mira de dónde viene tu copia

Comando
git -C copia remote -v

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

Tu rama sabe cuántos commits lleva de ventaja

Tu rama main sigue a origin/main, que es lo último que sabes del remoto. Git compara las dos.

Si hiciste commits que el remoto no tiene, estás por delante (ahead). Si el remoto tiene commits que tú no tienes, estás por detrás (behind).

Prueba a hacer un commit local y mira el cambio. No lo vas a subir.

Mira el estado respecto al remoto

Comando
git -C copia status -sb

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 copia 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 copia 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.

Crea un archivo de apuntes

Comando
printf 'apuntes del curso\n' > copia/notas.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 copia add notas.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 solo en tu copia

Comando
git -C copia commit -q -m "Crear las notas del curso"

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

Mira otra vez el estado

Comando
git -C copia status -sb

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

Cuenta adelante y atrás

Comando
git -C copia rev-list --left-right --count main...origin/main

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

Push sube y pull baja commits

Con git push subes al remoto los commits que te faltan por subir. Con git pull bajas los del remoto y los fusionas en tu rama.

Regla práctica: haz pull antes de empezar a trabajar y antes de subir. Si el remoto tiene commits que no tienes, Git rechaza el push hasta que hagas pull.

Estos dos comandos son los de la tarea del laboratorio. Aquí solo los lees.

Los dos comandos, como ejemplo

Código: bash
# Ejemplo: no lo ejecutes en copia.
# Baja lo nuevo del remoto y lo fusiona en tu rama.
git pull

# Sube tus commits al remoto.
git push origin main

Un error frecuente

Advertencia

Mucha gente cree que hacer commit sube el trabajo al servidor. No es así: el commit queda en tu copia. Solo git push lo envía. Si tu compañera no ve tu trabajo, comprueba si estás por delante.

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.