Git y GitHub desde cero
Control de versiones explicado con un simulador donde ejecutas comandos de Git y ves cómo cambia el repositorio en tiempo real.
Git es un sistema de control de versiones: guarda una foto (un commit) de tu proyecto cada vez que se lo pides, para que puedas volver atrás, ver qué cambió y trabajar en paralelo sin pisar a nadie. GitHub es una web donde alojas esos repositorios en la nube y colaboras con otras personas.
Instalar y configurar
git --version # comprobar que está instalado
git config --global user.name "Tu Nombre"
git config --global user.email "tu@correo.com"
Descárgalo de git-scm.com. La configuración del nombre y el correo solo se hace una vez: aparecerán en cada commit que hagas.
Los tres estados
Todo en Git se mueve entre tres zonas. Entenderlas es el 80 % de Git:
| Zona | Qué es | Cómo se llega |
|---|---|---|
| Working directory | Tus archivos tal y como están ahora en el disco | editando archivos |
| Staging area (índice) | Lo que entrará en el próximo commit | git add |
| Repositorio | El historial de commits, permanente | git commit |
Simulador de Git
Escribe comandos y pulsa Enter (o usa los botones). El panel de la derecha muestra en todo momento las
tres zonas, la rama actual y el grafo de commits. Empieza con git init.
git status es tu mejor amigo: dilo constantemente para ver en
qué zona está cada archivo.Ramas (branches)
Una rama es una línea de trabajo independiente. Trabajas en una rama para una función
nueva; cuando está lista, la fusionas (merge) en la rama principal
(main). Así main siempre queda estable.
git branch login # crear rama "login"
git checkout login # cambiar a ella (o: git switch login)
# ... trabajas y haces commits ...
git checkout main # volver a main
git merge login # traer los cambios de login a main
git branch -d login # borrar la rama ya fusionada
GitHub: el repositorio remoto
GitHub guarda una copia de tu repo en la nube. El flujo con un repo remoto:
| Comando | Qué hace |
|---|---|
git clone URL | Descarga un repo de GitHub a tu ordenador |
git remote add origin URL | Conecta tu repo local con uno de GitHub |
git push -u origin main | Sube tus commits a GitHub |
git pull | Baja los commits que hay en GitHub y no tienes |
git fetch | Mira si hay novedades sin fusionarlas todavía |
git pull.
Así evitas conflictos por trabajar sobre una versión vieja..gitignore
Un archivo llamado .gitignore le dice a Git qué NO versionar: dependencias, credenciales, archivos generados.
node_modules/
vendor/
.env
*.log
/dist
Flujo típico del día a día
git pull # 1. traer lo último
git checkout -b arreglo-boton # 2. rama para tu tarea
# ... editas archivos ...
git add . # 3. preparar los cambios
git commit -m "Arregla el botón de enviar" # 4. guardar
git push -u origin arreglo-boton # 5. subir a GitHub
# 6. abrir un Pull Request en GitHub para revisión
Comprueba lo aprendido
main y quieres incorporar el trabajo de la rama login. Ejecutas…