12. Exposición sobre los comandos usados hasta el momento
Tutorial: ¿Qué Hace Git por Nosotros? Tu Red de Seguridad Mágica
🐱 La Pesadilla del Desarrollador (¡Que NO Te Pase!)
Escenario Catastrófico:
Imagina esto: Dejas tu computadora abierta y ocurre UNO de estos desastres:
Tu gato camina sobre el teclado 🐈
Tu hijo pequeño "programa" por ti 👶
Derramas café sobre el teclado ☕
Simplemente haces cambios y los guardas por error 💥
Resultado: Tu hermoso sitio web ahora se ve así:
<!-- ¡DESASTRE TOTAL! -->
<!DOCTYPE html>
<html>
<head>
<title>Mi Sitio</title>
</head>
<body>
jkdsfhlkjsdhflkjsdhf <!-- ¡Tu gato escribió esto! -->
<div>asdfasdfasdf</div>
<!-- ¡TODO SE ARRUINÓ! -->
</body>
</html>💔 El Problema REAL:
Guardaste los cambios
Cerraste el editor
¡Control+Z ya no funciona!
No tienes copia de seguridad reciente
🦸♂️ Git al Rescate: Tu Superpoder de "Deshacer"
La Analogía del Videojuego
Sin Git = Jugar sin guardar partida. Si mueres, vuelves al inicio.
Con Git = Tienes puntos de guardado automáticos. ¡Puedes volver a cualquier momento!
El Comando Mágico: git checkout -- .
# ¡ESTE COMANDO ES TU VARITA MÁGICA!
git checkout -- .¿Qué hace? Reconstruye TODO tu proyecto como estaba en el último commit.
Traducción: "Git, por favor, haz que mi proyecto se vea exactamente como en la última 'foto' que tomé."
🎬 Demostración Paso a Paso
Paso 1: Crear un Desastre (A Propósito)
Abre tu archivo
index.htmlBorra TODO el contenido
Escribe cualquier tontería (o deja que tu gato lo haga)
Guarda los cambios ⚠️
Cierra el editor
Abre de nuevo... ¡OH NO! 😱
Paso 2: Usar Tu Superpoder Git
# Navega a tu proyecto
cd curso-git/01-bases
# ¡EJECUTA LA MAGIA!
git checkout -- .
# En segundos verás:
# (Git no dice nada = ¡ÉXITO!)Paso 3: Verificar la Magia
Abre
index.htmlde nuevo¡TODO está como antes!
Recarga el navegador → ¡El sitio funciona! 🎉
📁 ¿Qué Archivos Recupera Git?
Archivos con Seguimiento (Tracked)
Ejemplos que SÍ recupera:
index.html(ya lo habías añadido congit add)css/style.cssjs/app.jsCualquier archivo que haya tenido
git add
Archivos SIN Seguimiento (Untracked)
Ejemplo que NO recupera:
# Creas un nuevo archivo
touch nuevo-archivo.html
# NO haces git add
# Lo borras accidentalmente
# git checkout -- . NO lo recupera¿Por qué? Git no sabe que este archivo es importante para ti.
🛡️ Los 3 Superpoderes de git checkout -- .
1. Recuperar Archivos Borrados
# Borraste accidentalmente:
rm index.html css/style.css
# ¡Recupéralos!
git checkout -- .2. Deshacer Cambios No Deseados
# Modificaste 20 archivos por error
# ¡Vuelve al estado anterior!
git checkout -- .3. Limpiar Experimentos Fallidos
# Probaste un nuevo diseño (50 archivos cambiados)
# No te gustó el resultado
git checkout -- . # ¡Vuelve al punto seguro!🔍 ¿Cómo Funciona REALMENTE Git?
La Analogía de las Fotografías
Commit = Tomas una foto de TODO tu proyecto
Git = Guarda esa foto en su "álbum secreto" (la carpeta
.git)checkout -- .= Git busca la última foto y reconstruye todo igual
📸 Álbum de Fotos de Git (en .git/)
├── 📸 Foto 1: "Primer commit" - 10:00 AM
├── 📸 Foto 2: "Agregué menú" - 11:30 AM
└── 📸 Foto 3: "Diseño nuevo" - 02:15 PM ← ÚLTIMA FOTOCuando ejecutas git checkout -- .:
Git dice: "Ah, quieres que tu proyecto se vea como en la Foto 3. ¡Listo!"
⚠️ Limitaciones y Advertencias IMPORTANTES
Lo Que SÍ Recupera:
✅ Archivos con git add previo
✅ Cambios no guardados en un commit
✅ Archivos borrados accidentalmente
✅ Modificaciones destructivas
Lo Que NO Recupera:
❌ Archivos NUEVOS sin git add
❌ Cambios que ya fueron commiteados (hay otros comandos)
❌ Archivos fuera del repositorio Git
🎯 Regla de Oro:
# ¿Quieres que Git proteja un archivo?
# DEBES hacer esto primero:
git add nombre-del-archivo
# o para todos:
git add .🎮 Práctica Guiada: Salva Tu Proyecto
Ejercicio 1: El Desastre Controlado
# 1. Ve a tu proyecto
cd curso-git/01-bases
# 2. Crea un backup mental (opcional)
git status # Verifica que esté limpio
# 3. ¡ROMPE ALGO!
# Abre index.html y cambia el título a "¡DESASTRE!"
# Borra la mitad del CSS
# Guarda TODO
# 4. Usa tu superpoder
git checkout -- .
# 5. Verifica que todo volvió a la normalidadEjercicio 2: Archivo Nuevo vs. Archivo Viejo
# 1. Modifica un archivo existente
echo "<!-- Cambio peligroso -->" >> index.html
# 2. Crea un archivo nuevo
touch prueba.html
# 3. Deshace cambios
git checkout -- .
# 4. Verifica:
# - index.html recuperó su estado original ✓
# - prueba.html SIGUE existiendo (Git no lo toca)📋 Flujo de Recuperación Rápida
🧠 Preguntas Frecuentes
❓ "¿Esto borra mis commits anteriores?"
NO. Solo afecta los archivos de trabajo, no el historial.
❓ "¿Puedo recuperar versiones más antiguas?"
SÍ, pero con otros comandos que veremos luego.
❓ "¿Qué pasa si hago commit del error?"
Hay soluciones, pero es mejor evitar commitear errores.
❓ "¿Debo usar esto seguido?"
Solo en emergencias. Para cambios pequeños, mejor usa:
# Para un archivo específico
git checkout -- nombre-archivo🎯 Resumen de Comandos de Rescate
| Situación | Comando | Efecto |
|---|---|---|
| Todo el proyecto dañado | git checkout -- . | Recupera TODO al último commit |
| Un archivo específico dañado | git checkout -- archivo.html | Recupera solo ese archivo |
| Ver qué se dañó | git status | Muestra archivos modificados |
| Ver historial de salvación | git log --oneline | Muestra tus "puntos de guardado" |
💡 Consejos Profesionales
1. Haz Commit Frecuentemente
Cuanto más commits tengas, más puntos de recuperación.
2. Usa git status Antes de Paniquear
# Antes de usar checkout, verifica:
git status
# Te muestra exactamente qué cambió3. Añade Archivos Importantes INMEDIATAMENTE
# Al crear un archivo importante:
touch archivo-importante.js
git add archivo-importante.js # ¡NO TE OLVIDES!4. Mantén un "Árbol Limpio"
# Estado ideal:
git status
# On branch main
# nothing to commit, working tree clean ✅📝 Cuestionario de Comprensión
Pregunta 1
El comando git checkout -- . recupera tu proyecto a:
a) El estado inicial (cuando hiciste git init)
b) El estado del último commit ✅
c) El estado de hace una semana
d) Un estado aleatorio
Pregunta 2
Si creas un archivo nuevo SIN hacer git add y luego lo borras:
a) git checkout -- . lo recupera automáticamente
b) Git te pregunta si quieres recuperarlo
c) NO puedes recuperarlo con git checkout -- . ✅
d) Se recupera con git reset
Pregunta 3
¿Qué hace Git cuando ejecutas git checkout -- .?
a) Borra todos tus commits
b) Crea una copia de seguridad nueva
c) Reconstruye los archivos como en la última "foto" ✅
d) Sube todo a Internet
Pregunta 4
Antes de usar git checkout -- ., es buena idea:
a) Reiniciar la computadora
b) Ejecutar git status para ver qué cambió ✅
c) Hacer otro commit
d) Borrar la carpeta .git
Pregunta 5
Para recuperar solo UN archivo específico, usas:
a) git checkout -- .
b) git checkout -- archivo.html ✅
c) git restore archivo.html
d) git fix archivo.html
Pregunta 6
El mensaje "working tree clean" en git status significa:
a) Hay muchos cambios sin guardar
b) No hay cambios desde el último commit ✅
c) El proyecto tiene errores
d) Git no está inicializado
Pregunta 7
Si tu gato arruina 3 archivos y guardas los cambios:
a) Estás perdido sin esperanza
b) git checkout -- . recupera los 3 archivos ✅
c) Solo puedes recuperar 1 archivo
d) Necesitas reinstalar Git
Pregunta 8
¿Con qué frecuencia deberías hacer commit?
a) Solo al final del proyecto
b) Una vez por semana
c) Cada vez que terminas algo importante ✅
d) Nunca, es peligroso
Pregunta 9
La carpeta .git contiene:
a) Solo configuración
b) Todas las "fotos" (commits) de tu proyecto ✅
c) Archivos temporales
d) Copias de otros proyectos
Pregunta 10
Después de git checkout -- . exitoso:
a) Git muestra un mensaje largo de confirmación
b) No ves mensaje (silencio = éxito) ✅
c) Aparece un error
d) Se cierra la terminal
🎉 ¡Increíble! Ahora tienes un superpoder que pocos desarrolladores principiantes conocen. Git no es solo para trabajo en equipo, ¡es tu mejor seguro contra accidentes!
💡 Tarea práctica: Intenta romper tu proyecto de 3 maneras diferentes y recupéralo con
git checkout -- .. ¡La confianza viene de la práctica!
Respuestas correctas: 1-b, 2-c, 3-c, 4-b, 5-b, 6-b, 7-b, 8-c, 9-b, 10-b
Comentarios
Publicar un comentario