Saltar al contenido
schedule 12 min Git

GitHub y remoto

Hasta ahora, todo tu trabajo con Git vive exclusivamente en tu ordenador. Si tu disco duro muere, pierdes todo. Si quieres colaborar con otra persona, no hay forma de compartir tu repositorio. Aquí es donde entra GitHub: una plataforma en la nube que almacena tus repositorios Git, te permite colaborar con otros desarrolladores y sirve como copia de seguridad de tu código.

GitHub vs Git: no son lo mismo

Es muy común confundirlos, así que vamos a dejarlo claro:

  • Git es la herramienta de control de versiones. Funciona en tu ordenador, sin internet, sin cuenta en ningún sitio. Es el motor.
  • GitHub es una plataforma web construida sobre Git. Te da un lugar en la nube para guardar tus repositorios, colaborar con otros y mostrar tu trabajo al mundo.

Existen alternativas a GitHub como GitLab o Bitbucket, pero GitHub es con diferencia la más popular. Es donde vive la mayoría del código open source del mundo.

Crear una cuenta en GitHub

Si todavía no tienes una cuenta, ve a github.com y regístrate. Es gratis. Elige un nombre de usuario profesional (aparecerá en la URL de todos tus proyectos). Si ya tienes cuenta, salta al siguiente paso.

Crear un repositorio en GitHub

Vamos a subir el proyecto cafe-estelar que hemos estado usando en las lecciones anteriores. Primero necesitas crear un repositorio vacío en GitHub:

  1. Ve a github.com/new
  2. En Repository name escribe: cafe-estelar
  3. Elige Public (cualquiera puede verlo) o Private (solo tú). Para proyectos de aprendizaje, Public está bien.
  4. No marques "Add a README file" ni ningún otro archivo. Ya tenemos un proyecto con historial de commits y no queremos conflictos.
  5. Haz clic en Create repository

GitHub te mostrará una página con instrucciones. Vamos a usar las de "push an existing repository from the command line".

Conectar tu repositorio local con GitHub

Ahora mismo tu repositorio local no sabe que GitHub existe. Necesitas decirle dónde está el repositorio remoto:

# Conectar tu repositorio local con GitHub (HTTPS)
git remote add origin https://github.com/tu-usuario/cafe-estelar.git

# Verificar que se añadió correctamente
git remote -v
# origin  https://github.com/tu-usuario/cafe-estelar.git (fetch)
# origin  https://github.com/tu-usuario/cafe-estelar.git (push)

origin es simplemente un nombre. Es una convención para referirse al repositorio remoto principal. Podrías llamarlo como quisieras, pero todo el mundo usa "origin" y tú también deberías.

SSH vs HTTPS: cómo te conectas a GitHub

Hay dos formas de conectarte a GitHub:

  • HTTPS: más fácil de configurar, pero te pide usuario y contraseña (o token) cada vez que haces push.
  • SSH: requiere una configuración inicial, pero después nunca más te pide credenciales. Es la opción recomendada.

Vamos a configurar SSH. Solo necesitas hacerlo una vez:

# 1. Generar una clave SSH
ssh-keygen -t ed25519 -C "[email protected]"
# Pulsa Enter en todas las preguntas (acepta los valores por defecto)

# 2. Copiar la clave pública al portapapeles
# En Linux:
cat ~/.ssh/id_ed25519.pub
# En Mac:
pbcopy < ~/.ssh/id_ed25519.pub
# En Windows (Git Bash):
clip < ~/.ssh/id_ed25519.pub

Ahora ve a GitHub:

  1. Haz clic en tu avatar (esquina superior derecha) → Settings
  2. En el menú lateral: SSH and GPG keys
  3. Clic en New SSH key
  4. Ponle un nombre descriptivo (ej: "Mi portátil") y pega la clave pública
  5. Clic en Add SSH key

Ahora puedes usar la URL SSH en lugar de HTTPS:

# Si ya añadiste el remoto con HTTPS, puedes cambiarlo a SSH:
git remote set-url origin [email protected]:tu-usuario/cafe-estelar.git

# O si es la primera vez:
git remote add origin [email protected]:tu-usuario/cafe-estelar.git

# Verificar la conexión SSH con GitHub
ssh -T [email protected]
# Hi tu-usuario! You've successfully authenticated, but GitHub does not provide shell access.

git push: subir tu código a GitHub

Con el remoto configurado, es hora de subir tu código:

# La primera vez necesitas -u para establecer el "upstream" (seguimiento)
git push -u origin main

# Esto hace dos cosas:
# 1. Sube todos tus commits al repositorio remoto en GitHub
# 2. Vincula tu rama local "main" con "origin/main" (tracking)

# A partir de ahora, solo necesitas:
git push
# Git ya sabe que "push" significa "subir a origin/main"

Refresca la página de tu repositorio en GitHub. Deberás ver todos tus archivos y tu historial de commits. Tu código ya está en la nube.

Si tu rama local se llama master en vez de main, usa git push -u origin master. Puedes renombrarla con git branch -M main antes de hacer push si prefieres usar la convención moderna.

git pull: descargar cambios desde GitHub

Si modificas algo directamente en GitHub (por ejemplo, editas un archivo desde la web) o si un compañero sube cambios, necesitas descargarlos a tu ordenador:

# Descargar los últimos cambios de GitHub y fusionarlos con tu código local
git pull

# Esto es equivalente a:
# git fetch    (descarga los cambios)
# git merge    (los fusiona con tu rama actual)

# Buena práctica: siempre haz git pull antes de empezar a trabajar
# Así te aseguras de tener la versión más reciente

git clone: descargar el proyecto de otra persona

git clone es el comando que usas para descargar un repositorio completo de GitHub a tu ordenador. Es la forma de empezar a trabajar con un proyecto que ya existe:

# Clonar un repositorio público
git clone https://github.com/usuario/proyecto.git

# Esto hace tres cosas automáticamente:
# 1. Crea una carpeta llamada "proyecto"
# 2. Descarga todo el código y todo el historial de commits
# 3. Configura "origin" apuntando a la URL de GitHub

# Entrar en la carpeta del proyecto
cd proyecto

# Verificar que origin ya está configurado
git remote -v
# origin  https://github.com/usuario/proyecto.git (fetch)
# origin  https://github.com/usuario/proyecto.git (push)

Cuando encuentras un proyecto interesante en GitHub, git clone es todo lo que necesitas para tenerlo en tu ordenador y empezar a explorarlo.

README.md: la carta de presentación de tu proyecto

Todo buen proyecto en GitHub necesita un archivo README.md en la raíz. Es lo primero que la gente ve cuando visita tu repositorio. Está escrito en Markdown, un lenguaje de marcado muy simple que ya conoces de las lecciones de HTML.

Vamos a crear uno para cafe-estelar:

README.md
# Café Estelar

Sitio web para una cafetería ficticia. Proyecto de práctica para aprender HTML, CSS y Git.

## Vista previa

Página web responsiva con menú de productos, sección de contacto y formulario de reservas.

## Tecnologías

- HTML5
- CSS3 (Flexbox, Grid)
- Git para control de versiones

## Cómo usar

1. Clona el repositorio:

```bash
git clone https://github.com/tu-usuario/cafe-estelar.git
```

2. Abre `index.html` en tu navegador.

## Autor

Tu Nombre - [GitHub](https://github.com/tu-usuario)

## Licencia

Este proyecto es de uso libre con fines educativos.
# Añadir el README, hacer commit y subir a GitHub
git add README.md
git commit -m "docs: add README with project description"
git push

Refresca tu repositorio en GitHub y verás el README renderizado de forma bonita justo debajo de la lista de archivos. Así es como se presenta un proyecto profesional.

Resumen

  • GitHub es una plataforma en la nube para almacenar repositorios Git y colaborar.
  • git remote add origin URL conecta tu repositorio local con GitHub.
  • SSH es la forma recomendada de autenticarte (configura una vez, no vuelves a poner contraseña).
  • git push sube tus commits a GitHub. La primera vez usa -u origin main.
  • git pull descarga cambios de GitHub a tu ordenador.
  • git clone descarga un repositorio completo de GitHub (crea carpeta, descarga código, configura origin).
  • README.md es la carta de presentación de tu proyecto. Siempre incluye uno.
code

Sube tu proyecto a GitHub y crea un README

Medio schedule 20 min

Pon en práctica todo lo que has aprendido en esta lección:

  • Crea un repositorio nuevo en github.com/new llamado cafe-estelar (o pixel-games si prefieres usar otro proyecto)
  • Conecta tu repositorio local con GitHub usando git remote add origin (usa SSH si ya configuraste tu clave)
  • Sube tu código con git push -u origin main
  • Comprueba en GitHub que aparecen todos tus archivos y tu historial de commits
  • Crea un archivo README.md con el nombre del proyecto, una descripción breve, las tecnologías usadas y las instrucciones para clonar
  • Haz un nuevo commit con el README y súbelo con git push
  • Bonus: configura SSH si todavía no lo has hecho y cambia la URL del remoto con git remote set-url
lightbulb Pistas

Si al hacer git push te da un error de autenticación con HTTPS, GitHub ya no acepta contraseñas. Necesitas un Personal Access Token (Settings → Developer settings → Personal access tokens) o configurar SSH. Para el README, fíjate en la estructura de ejemplo de la lección: título con #, secciones con ## y bloques de código con triple backtick.

Newsletter

Recibe nuevos cursos, actualizaciones, artículos del blog y promociones en tu correo.