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:
- Ve a github.com/new
- En Repository name escribe:
cafe-estelar - Elige Public (cualquiera puede verlo) o Private (solo tú). Para proyectos de aprendizaje, Public está bien.
- No marques "Add a README file" ni ningún otro archivo. Ya tenemos un proyecto con historial de commits y no queremos conflictos.
- 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:
- Haz clic en tu avatar (esquina superior derecha) → Settings
- En el menú lateral: SSH and GPG keys
- Clic en New SSH key
- Ponle un nombre descriptivo (ej: "Mi portátil") y pega la clave pública
- 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
masteren vez demain, usagit push -u origin master. Puedes renombrarla congit branch -M mainantes 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:
# 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.
Sube tu proyecto a GitHub y crea un README
Pon en práctica todo lo que has aprendido en esta lección:
- Crea un repositorio nuevo en github.com/new llamado
cafe-estelar(opixel-gamessi 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.mdcon 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.