¿Hay alguna forma de revertir o deshacer git pull para que mi fuente / repos recupere el estado anterior que tenía antes de hacer git pull? Quiero hacer esto porque fusionó algunos archivos que no quería, pero solo fusionó otros archivos restantes. Entonces, quiero recuperar esos archivos, ¿es eso posible?
EDITAR: Quiero deshacer git merge para aclaraciones. Después de ver algunas respuestas, hice esto
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Y ahora que debo hacer ? ¿Hacer git reset --hard
está bien? No quiero volver a atornillarlo, ¿así que pide pasos detallados?
git reflog
mostrará todo lo que se ha hecho con git. Existe una preocupación que git reset --hard [sha1 of something from reflog]
revertirá todo lo que se muestra reflog
, que a veces no es un objetivo, por ejemplo. desea revertir la fusión en la rama maestra extraída del origen con datos incorrectos (sucede), y después de esa fusión ha trabajado en otras ramas. reflog
mostrará cada cambio en otras ramas. Pero git checkout master
y git reset --hard [SH1 of commit on master branch just before merge]
restablecerá solo la rama maestra actual eliminando la fusión extraída del origen.
git reset --hard 01b34fa
en este caso, podría haber hecho logit reset --hard HEAD^
que se restablece a un commit antes de HEAD.