Bienvenido/a al taller de Git de LeanMind. Si estás aquí, probablemente acabas de escuchar palabras como "commit", "rama" o "conflicto" y no sabes muy bien qué significan. No te preocupes, ese es exactamente el punto de partida correcto.
Git es como una máquina del tiempo para tu código. Cada vez que haces un commit, estás tomando una foto del estado de tu proyecto en ese momento. Si en el futuro algo sale mal, puedes volver a cualquier foto anterior. Sin Git, si borras algo importante, se fue para siempre. Con Git, siempre puedes recuperarlo.
Imagina que tú y tres compañeros/as estáis construyendo con LEGO, pero cada uno en su propia mesa de trabajo. Git es el sistema que permite que cada uno construya su pieza por separado y luego las combine en la construcción final sin que nadie pise el trabajo del otro. A esa mesa de trabajo separada la llamamos rama.
| Ejercicio | Tema | Tiempo estimado |
|---|---|---|
| 01 - Mi Primer Commit | Staging Area y commits con sentido | 20 min |
| 02 - Ramas y Universos | Crear y navegar entre ramas | 20 min |
| 03 - Trabajo en Equipo | Push, Pull y Pull Requests | 25 min |
| 04 - El Temido Conflicto | Provocar y resolver conflictos | 30 min |
| Ejercicio | Tema | Tiempo estimado |
|---|---|---|
| 05 - Reset: Las Tres Variantes | --soft, --mixed y --hard |
25 min |
| 06 - Checkout vs Switch | Equivalencias y el modo Detached HEAD | 20 min |
| 07 - Diff y Log | Inspeccionar cambios e historial | 20 min |
| 08 - Stash | Guardar trabajo sin hacer commit | 20 min |
| 09 - Cherry-pick | Copiar commits selectivamente entre ramas | 25 min |
| 10 - Rebase y Squash | Historial lineal y commits limpios | 35 min |
Si alguna vez estás perdido/a, esta tabla es tu ancla.
| Comando | ¿Qué hace? |
|---|---|
git status |
"¿Qué está pasando ahora mismo?" |
git add <archivo> |
Prepara un archivo para el commit |
git add . |
Prepara todos los cambios para el commit |
git commit -m "mensaje" |
Guarda la foto del estado actual |
git log --oneline |
Ver el historial de commits en resumen |
git log --oneline --graph --all |
Historial con gráfico de ramas |
git diff |
Ver cambios no preparados aún |
git diff --cached |
Ver cambios ya en Staging Area |
git branch |
Ver en qué rama estás |
git switch -c <nombre> |
Crear una nueva rama y saltar a ella |
git switch <nombre> |
Saltar a una rama que ya existe |
git pull |
Traer los cambios del repositorio remoto |
git push |
Enviar tus cambios al repositorio remoto |
git stash |
Guardar cambios en el cajón temporalmente |
git stash pop |
Recuperar los cambios del cajón |
git reset --soft HEAD~1 |
Deshacer el último commit (cambios en Staging) |
git reset --hard HEAD~1 |
|
git rebase <rama> |
Replanta tu rama sobre otra |
git cherry-pick <hash> |
Copiar un commit concreto a tu rama actual |
💡 Regla de oro: ante la duda, ejecuta
git status. Siempre. Te dirá exactamente dónde estás y qué puedes hacer a continuación.
Asegúrate de tener configurado tu nombre y email en Git. Estos datos aparecerán en cada commit que hagas:
git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"¡Ya estás listo/a! Empieza por el ejercicio 01. 👇