Ruta Full Stack
0✦ 0
Glosario · Git y GitHub · Fase 1

Deshacer en Git

Las formas de volver atrás con Git, de la más suave a la más peligrosa. Cuál usar depende de hasta dónde había llegado el cambio.

✦Apagada: responde bien la pregunta del final para encenderla

También lo verás como: git restore · git reset · git clean · deshacer cambios · revertir · git revert · volver atrás

Analogía

Corregir un escrito: tachar a lápiz (se borra sin rastro), arrancar la hoja, o publicar una fe de erratas cuando ya está impreso.

Según dónde esté el cambio

El cambio está… Para deshacerlo Riesgo
modificado, sin preparar git restore archivo (o git restore . para todos) pierdes esos cambios: es lo que quieres
preparado (git add) git restore --staged archivo lo saca de la preparación, sin tocar el archivo ninguno
en un archivo nuevo (untracked) borrarlo a mano, o git clean -n (enseña qué borraría) y luego git clean -fd no va a la papelera
ya en un commit git revert <hash>: crea un commit nuevo que lo contrarresta ninguno: el historial se conserva

Los que se leen dos veces

  • git reset --hard: descarta todo lo no confirmado, sin preguntar.
  • git clean -fd: borra los archivos que Git no conoce, sin papelera.
  • git push --force: sobrescribe el historial de GitHub.

No están prohibidos: están reservados para cuando sepas exactamente qué van a borrar. Si los propone la IA como "solución rápida", para y pregunta.

La idea que lo ordena todo

git restore deshace cambios en archivos que Git ya conocía. No toca los archivos nuevos. Por eso, tras un cambio de la IA que no te gusta, el gesto completo es:

git status        ← ¿qué tocó? ¿creó archivos?
git restore .     ← deshace los modificados
(borrar a mano los nuevos que aparezcan como untracked)

Y nada de esto funciona si no había un commit previo al que volver.

Comprueba que lo entendiste

Claude modificó dos archivos y creó uno nuevo. No te gusta nada. Haces git restore . ¿Qué queda?

Ver también

git status · commit · diff · Git