Intermediogit
Deshacer y Recuperar
Aprende a deshacer commits, recuperar archivos borrados y resolver situaciones de emergencia.
Deshacer cambios
Git ofrece multiples formas de deshacer cambios, cada una con un nivel diferente de "agresividad".
bash
1# Descartar cambios en un archivo (no commiteado)
2git checkout -- archivo.txt
3# o en Git moderno:
4git restore archivo.txt
5
6# Quitar del staging (pero mantener cambios)
7git restore --staged archivo.txt
8
9# Deshacer el ultimo commit (mantener cambios)
10git reset --soft HEAD~1
11
12# Deshacer el ultimo commit (descartar cambios)
13git reset --hard HEAD~1
14
15# Crear un nuevo commit que revierte uno anterior (seguro)
16git revert abc1234Reflog: Tu red de seguridad
git reflog registra todos los movimientos del HEAD, incluso los resets. Es tu ultimo recurso para recuperar trabajo perdido.bash
1# Ver el reflog
2git reflog
3
4# Ejemplo de salida:
5# abc1234 HEAD@{0}: reset: moving to HEAD~1
6# def5678 HEAD@{1}: commit: feat: agregar quiz
7# ghi9012 HEAD@{2}: commit: fix: corregir bug
8
9# Recuperar un commit "perdido"
10git reset --hard def5678
11
12# O crear una rama desde el commit perdido
13git branch recuperado def5678