Repositorio remoto

7 min

Tabla de contenidos


1 — Repositorio local vs repositorio remoto

Hasta aquí, todo tu trabajo vivía en tu máquina (repositorio local). Un repositorio remoto (remote) es una copia alojada en un servidor (GitHub, GitLab, Bitbucket…), accesible para todo el equipo.

Repositorio localRepositorio remoto
¿Dónde?Tu ordenadorUn servidor (GitHub…)
¿Para qué?Trabajar, commitearCompartir, guardar, colaborar
AccesoSolo túTodo el equipo

El repositorio remoto cumple tres roles: copia de seguridad (tu código sobrevive a un fallo de disco), compartir (el equipo accede al mismo código) y punto de encuentro (base de la colaboración y del CI/CD).

↑ Volver arriba


2 — Enlazar un repositorio remoto

Para conectar tu repositorio local a un repositorio remoto, se le añade una referencia llamada por convención origin.

bash
# Añadir el repositorio remoto llamado "origin"
git remote add origin https://github.com/utilisateur/mon-projet.git

# Verificar los repositorios remotos configurados
git remote -v
ComandoEfecto
git remote add origin <url>Enlaza lo local con lo remoto (alias origin)
git remote -vLista los remotos y sus URL
git remote remove originRetira el enlace

origin no es más que un nombre por convención para «el repositorio remoto principal». Se podría llamar de otra forma, pero todo el mundo usa origin — conserva esta convención.

🔧 Mini-ejercicio — Escribe el comando que enlaza tu repositorio local al repositorio remoto https://github.com/moi/projet.git bajo el alias origin.

✅ Ver una solución
bash
git remote add origin https://github.com/moi/projet.git

↑ Volver arriba


3 — Empujar los cambios

Empujar (push) es enviar tus commits locales hacia el repositorio remoto.

bash
# Primer push: se enlaza la rama local a la rama remota con -u
git push -u origin main

# Las veces siguientes, un simple push basta
git push
ComandoCuándo usarlo
git push -u origin mainPrimer push de una rama (establece el seguimiento)
git pushTodos los push siguientes

La opción -u (o --set-upstream) solo sirve una vez por rama: enlaza tu rama local a su gemela remota. Después, git push y git pull saben qué hacer solos.

🔧 Mini-ejercicio — Escribe el comando del primer push de la rama main hacia origin, estableciendo el seguimiento.

✅ Ver una solución
bash
git push -u origin main

↑ Volver arriba


4 — Recuperar los cambios

Cuando un compañero empuja código, debes recuperar sus cambios para seguir al día.

bash
# Recuperar Y fusionar los cambios remotos
git pull

# Recuperar SIN fusionar (para inspeccionar primero)
git fetch
ComandoEfecto
git fetchDescarga las novedades remotas, sin modificar tu trabajo
git mergeFusiona lo recuperado en tu rama
git pullfetch + merge en un solo comando

Buena costumbre: haz git pull antes de empezar a trabajar y antes de empujar. Eso evita la mayoría de los conflictos, porque partes siempre de la versión más reciente.

🔧 Mini-ejercicio — ¿Qué comando recupera los commits remotos sin fusionarlos en tu rama, para inspeccionarlos primero?

✅ Ver una solución
bash
git fetch

↑ Volver arriba


5 — Clonar un repositorio

Clonar (clone) es crear una copia local completa de un repositorio remoto existente — típicamente para unirse a un proyecto.

bash
# Clonar un repositorio (crea una carpeta + descarga todo el historial)
git clone https://github.com/utilisateur/mon-projet.git

# Clonar en una carpeta con un nombre preciso
git clone https://github.com/utilisateur/mon-projet.git mon-dossier

git clone hace todo de una vez:

  1. Descarga el repositorio entero (archivos + historial).
  2. Crea una carpeta local.
  3. Configura automáticamente origin hacia la URL clonada.
git init + remote addgit clone
Para publicar un proyecto existente en localPara recuperar un proyecto existente en remoto

Resumen: se clona cuando el proyecto ya existe en línea; se hace init + remote add + push cuando se parte de un proyecto local a publicar.

🔧 Mini-ejercicio — Escribe el comando que clona el repositorio https://github.com/moi/projet.git en una carpeta local llamada mon-dossier.

✅ Ver una solución
bash
git clone https://github.com/moi/projet.git mon-dossier

↑ Volver arriba


6 — El flujo colaborativo completo

Este es el ciclo diario completo del trabajo colaborativo con un repositorio remoto.

PasoComandoObjetivo
1git pullPartir de la última versión
2git add + git commitRegistrar el trabajo en local
3git pullRecuperar lo que ha cambiado entre tanto
4git pushPublicar tus commits

Este flujo pull → trabajar → commit → pull → push es la rutina de base. En empresa se añaden las Pull Requests y la revisión de código — es el objeto del módulo 02 (Git avanzado y GitHub).

↑ Volver arriba


7 — Quiz — Repositorio remoto

Question 1: ¿Qué es un repositorio remoto?

a) Una rama local

b) Una copia del repositorio alojada en un servidor, accesible para el equipo

c) Un archivo .gitignore

d) Un commit particular

💡 Ver la solución

Respuesta: b) — El repositorio remoto (en GitHub, por ej.) sirve de copia de seguridad, de punto de intercambio y de base a la colaboración.


Question 2: ¿Qué designa habitualmente origin?

a) El primer commit del proyecto

b) El nombre por convención del repositorio remoto principal

c) La rama por defecto

d) Un tipo de conflicto

💡 Ver la solución

Respuesta: b)origin es el alias convencional del repositorio remoto principal enlazado al repositorio local.


Question 3: ¿Qué comando envía tus commits locales hacia el remoto?

a) git pull

b) git push

c) git clone

d) git fetch

💡 Ver la solución

Respuesta: b)git push envía los commits locales hacia el repositorio remoto. git pull/fetch hacen lo inverso.


Question 4: ¿Cuál es la diferencia entre git fetch y git pull?

a) Ninguna, son sinónimos

b) fetch descarga sin fusionar; pull descarga y fusiona

c) pull borra el historial

d) fetch envía los commits

💡 Ver la solución

Respuesta: b)git pull = git fetch + git merge. fetch solo permite inspeccionar antes de fusionar.


Question 5: ¿En qué caso se usa git clone?

a) Para publicar un proyecto local vacío

b) Para recuperar una copia completa de un repositorio que ya existe en remoto

c) Para crear una rama

d) Para resolver un conflicto

💡 Ver la solución

Respuesta: b)git clone copia un repositorio remoto existente en local y configura origin automáticamente.

↑ Volver arriba


8 — Práctica — Publicar tu repositorio en GitHub

Consigna

Publica el repositorio local creado en la lección 04 en GitHub, luego simula una colaboración clonándolo en otro sitio.


Corrección — Secuencia de comandos esperada

bash
# --- Lado proyecto local existente ---

# 1. Crear un repositorio VACÍO en github.com (vía la interfaz web)
#    → se obtiene una URL : https://github.com/vous/mon-premier-depot.git

# 2. Enlazar lo local con lo remoto
git remote add origin https://github.com/vous/mon-premier-depot.git
git remote -v

# 3. Empujar por primera vez
git push -u origin main

# --- Simular a un compañero que se une al proyecto ---

# 4. Clonar en otro sitio (otra carpeta)
cd ..
git clone https://github.com/vous/mon-premier-depot.git copie-collegue
cd copie-collegue

# 5. Modificar, commitear, empujar
echo "Contribución del compañero" >> README.md
git add README.md
git commit -m "Añade una contribución"
git push

# --- Vuelta al proyecto de origen ---

# 6. Recuperar la contribución
cd ../mon-premier-depot
git pull

Resultado esperado: tras el git pull final, el archivo README.md del proyecto de origen contiene la línea añadida por el «compañero». El ciclo push / clone / push / pull está cerrado.

Acabas de realizar una colaboración Git completa tú solo. Es exactamente lo que ocurre en equipo, salvo que las dos copias están en máquinas distintas.

↑ Volver arriba


9 — Síntesis

Puntos a recordar

  1. Repositorio remoto = copia en servidor (GitHub): copia de seguridad + intercambio + colaboración.
  2. git remote add origin <url> enlaza lo local con lo remoto.
  3. git push envía; git pull (= fetch + merge) recibe.
  4. git clone recupera un repositorio existente y configura origin automáticamente.
  5. Rutina diaria: pull → trabajar → commit → pull → push.

A continuación

Módulo 02 — Git avanzado y GitHub: Pull Requests, revisión de código, gestión de conflictos en equipo y workflows profesionales.

↑ Volver arriba


Todos los derechos reservados. Toda reproducción, difusión, uso o adaptación de este curso, en todo o en parte, está estrictamente prohibida sin la autorización escrita previa del Dr. Haythem REHOUMA.

Curso creado por Dr. Haythem REHOUMA — Desarrollo y despliegue de soluciones de datos