Conectar tu repositorio local con GitHub significa vincular la carpeta de tu proyecto en tu computadora con un repositorio remoto en la plataforma GitHub.
Esta conexión te permite guardar tu código en la nube, colaborar con otros desarrolladores y tener un respaldo seguro de tu trabajo.
¿Qué es un repositorio remoto?
Un repositorio remoto es una copia de tu proyecto almacenada en un servidor externo. GitHub es la plataforma más popular para alojar repositorios remotos de forma gratuita.
Tu computadora tiene el repositorio local. GitHub tiene el repositorio remoto. Los comandos git push y git pull sincronizan ambos.
Estructura del flujo local–remoto
El flujo básico funciona así:
Repositorio local → git push → Repositorio remoto (GitHub)
Repositorio local ← git pull ← Repositorio remoto (GitHub)
Antes de poder hacer push o pull, necesitas:
- Crear el repositorio en GitHub.
- Copiar la URL del repositorio.
- Registrar esa URL en tu proyecto local con
git remote add.
Paso 1: Crear el repositorio en GitHub
Entra a github.com e inicia sesión. Haz clic en el botón "New repository".
Llena el formulario con estos datos:
| Campo | Qué escribir |
|---|---|
| Repository name | El nombre de tu proyecto (sin espacios) |
| Description | Una descripción breve opcional |
| Visibility | Public o Private |
| Initialize this repository | No marques ninguna opción |
Importante: No inicialices el repositorio con README ni
.gitignoresi ya tienes commits locales. Eso generaría conflictos inmediatos.
Haz clic en "Create repository". GitHub te mostrará una URL similar a esta:
https://github.com/tu-usuario/mi-proyecto.git
Copia esa URL. La usarás en el siguiente paso.
Paso 2: Registrar el remoto con git remote add
git remote add registra la dirección del repositorio remoto dentro de tu proyecto local.
La sintaxis es:
git remote add <nombre> <url>
El nombre estándar para el remoto principal es origin. Puedes usar otro nombre, pero origin es la convención universal.
Ejemplo — Proyecto de catálogo de productos para Liverpool:
git remote add origin https://github.com/dev-liverpool/catalogo-productos.git
Para verificar que el remoto quedó registrado correctamente, ejecuta:
git remote -v
Verás algo así:
origin https://github.com/dev-liverpool/catalogo-productos.git (fetch)
origin https://github.com/dev-liverpool/catalogo-productos.git (push)
Si ves las dos líneas con fetch y push, la conexión está configurada.
Paso 3: Subir tu código con git push
git push envía tus commits locales al repositorio remoto en GitHub.
La primera vez que haces push, debes especificar la rama y usar la bandera -u:
git push -u origin main
La bandera -u (upstream) establece la relación entre tu rama local main y la rama remota origin/main. Después de esta primera vez, solo necesitas escribir git push.
Ejemplo — Equipo de desarrollo de FEMSA sube avances del sistema de inventario:
# Estado inicial: 3 commits locales sin subir
git log --oneline
# a3f9d12 Agrega módulo de entradas al almacén
# 7bc1e08 Crea estructura base del sistema
# 2d04a55 Inicializa proyecto
git push -u origin main
# Enumerating objects: 9, done.
# Counting objects: 100% (9/9), done.
# To https://github.com/femsa-dev/inventario.git
# * [new branch] main -> main
# Branch 'main' set up to track remote branch 'main' from 'origin'.
Ahora todos los commits están en GitHub.
Paso 4: Descargar cambios con git pull
git pull descarga los commits del repositorio remoto e integra los cambios en tu rama local.
La sintaxis es:
git pull origin main
O simplemente git pull si ya configuraste el upstream con -u.
Ejemplo — Desarrolladora del equipo de Mercado Libre descarga cambios de su compañero:
Su compañero subió tres archivos nuevos al repositorio. Ella ejecuta:
git pull origin main
# remote: Enumerating objects: 5, done.
# Updating a3f9d12..e7c2b91
# Fast-forward
# src/pagos.py | 45 +++++++++++++++++++++
# src/envios.py | 30 +++++++++++++++
# README.md | 8 ++++
# 3 files changed, 83 insertions(+)
Ahora su copia local tiene los archivos nuevos que su compañero subió.
Clonar un repositorio existente
Si el proyecto ya existe en GitHub y quieres descargarlo por primera vez, usa git clone:
git clone https://github.com/bimbo-tech/sistema-rutas.git
Este comando hace tres cosas a la vez:
- Crea una carpeta local con el nombre del repositorio.
- Descarga todo el historial de commits.
- Configura automáticamente
originapuntando al remoto.
Después de clonar, ya puedes hacer git pull y git push sin pasos adicionales.
Tabla de referencia: comandos remotos esenciales
| Comando | ¿Qué hace? |
|---|---|
git remote add origin <url> |
Registra el repositorio remoto |
git remote -v |
Muestra los remotos configurados |
git push -u origin main |
Sube commits y establece upstream |
git push |
Sube commits (después de configurar upstream) |
git pull |
Descarga e integra cambios remotos |
git clone <url> |
Descarga un repositorio completo por primera vez |
git remote remove origin |
Elimina la conexión con el remoto |
Errores comunes
Error 1: "remote origin already exists"
Este error aparece si intentas hacer git remote add origin cuando ya existe un remoto con ese nombre.
git remote add origin https://github.com/usuario/proyecto.git
# error: remote origin already exists.
Solución: Usa git remote set-url para cambiar la URL existente:
git remote set-url origin https://github.com/usuario/proyecto-correcto.git
Error 2: Hacer git push sin commits locales
Si no tienes commits nuevos, Git te avisa que todo está al día:
Everything up-to-date
Esto no es un error real. Significa que no hay nada que subir. Revisa si hiciste git add y git commit antes del push.
Error 3: Rechazar el push por historial divergente
Este error ocurre cuando el remoto tiene commits que tú no tienes localmente:
! [rejected] main -> main (fetch first)
error: failed to push some refs
Solución: Primero descarga los cambios con git pull, resuélve cualquier conflicto si los hay, y luego haz git push:
git pull origin main
# resuelve conflictos si aparecen
git push origin main
Error 4: Olvidar la bandera -u en el primer push
Si haces git push origin main sin -u, tendrás que escribir git push origin main completo cada vez. No es grave, pero es menos eficiente.
Siempre usa -u en el primer push de cada rama nueva.
Flujo completo de ejemplo
Este es el flujo desde cero para un desarrollador de Bimbo que inicia un proyecto de automatización de reportes:
# 1. Inicializa el proyecto local
mkdir reportes-bimbo
cd reportes-bimbo
git init
# 2. Crea el primer archivo y hace commit
echo "# Reportes Automatizados" > README.md
git add README.md
git commit -m "Inicializa proyecto de reportes"
# 3. Conecta con GitHub (URL copiada de la plataforma)
git remote add origin https://github.com/bimbo-dev/reportes-automatizados.git
# 4. Sube el código por primera vez
git push -u origin main
# 5. Continúa trabajando normalmente
# (edita archivos, git add, git commit)
# 6. Sincroniza antes de subir nuevos cambios
git pull
git push
Este flujo de seis pasos cubre el 90% de las situaciones cotidianas.
Puntos clave
git remote add origin <url>registra la dirección del repositorio remoto. Solo se ejecuta una vez por proyecto.git push -u origin mainsube tus commits y establece el upstream. Después,git pushsolo es suficiente.git pulldescarga e integra los cambios remotos en tu rama local. Hazlo antes de empezar a trabajar cada día.git clone <url>descarga un proyecto completo de GitHub y configura el remoto automáticamente.- Si el push es rechazado, siempre haz
git pullprimero para sincronizar el historial antes de volver a intentarlo.