Deshacer errores con seguridad: restore, reset, revert, reflog
La noticia más tranquilizadora de todo el curso: Git casi nunca pierde de verdad tu trabajo. Casi cualquier error se puede deshacer, si sabes a qué herramienta recurrir. En esta lección vamos a construir una pequeña y clara caja de herramientas de recuperación con cuatro herramientas, cada una empar
restore es 'deshacer lo que estoy editando ahora'. reset es 'llévame atrás en el tiempo' (y --hard también elimina, así que cuidado). revert es 'agregar una página que anula una página vieja': seguro para el equipo. reflog es una cámara de seguridad que recuerda adónde se movió HEAD, incluso cuando sientes que perdiste trabajo.
- git restore
- Descarta cambios del directorio de trabajo (git restore <archivo>) o saca un archivo del staging (git restore --staged <archivo>). No toca el historial.
- git reset
- Mueve HEAD (y la rama) a un commit anterior. --soft mantiene los cambios en staging, --hard también descarta los cambios del directorio de trabajo. Seguro solo en historial local.
- git revert
- Crea un commit nuevo que revierte el cambio de un commit anterior, sin reescribir el historial. La forma segura de deshacer algo que ya enviaste (push) y compartiste.
- git reflog
- Un registro local de todos los lugares por donde pasó HEAD. Te permite encontrar el hash de un commit que parecía 'perdido' después de un reset y recuperarlo. Tu red de seguridad.
- Historial compartido
- Commits que ya se enviaron (push) y que otros pueden haber descargado (pull). Reescribirlos rompe la copia del equipo, así que en ellos usas revert, no reset --hard.