¿Hay alguna forma de revertir o deshacer el git pull para que mis fuentes/repos vuelvan al antiguo estado que tenían antes de hacer el git pull? Quiero hacer esto porque fusionó algunos archivos que yo no quería, pero sólo fusionó otros archivos restantes. Entonces, quiero recuperar esos archivos, ¿es posible? Gracias :)
EDITAR Quiero deshacer git merge para aclarar. Después de ver algunas respuestas, hice esto
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Ahora, ¿qué debo hacer? ¿Hacer git reset --hard
está bien? No quiero volver a estropearlo, así que pido pasos detallados.
La ejecución de git pull
realiza las siguientes tareas, en orden:
git fetch
git merge
.El paso merge combina ramas que han sido configuradas para ser fusionadas en tu configuración. Quieres deshacer el paso merge, pero probablemente no el fetch (no tiene mucho sentido y no debería ser necesario).
Para deshacer la fusión, usa git reset --hard
para restablecer el repositorio local a un estado anterior; usa git-reflog para encontrar el SHA-1 del estado anterior y luego restablecerlo.
**Advertencia
Los comandos listados en esta sección eliminan todos los cambios no comprometidos, lo que puede llevar a una pérdida de trabajo:
git reset --hard
Alternativamente, restablecer a un punto particular en el tiempo, tales como:
git reset --hard master@{"10 minutes ago"}
Si tienes gitk (prueba a ejecutar "gitk --all desde tu línea de comandos de git"), es sencillo. Sólo tienes que ejecutarlo, seleccionar el commit al que quieres retroceder (con el botón derecho del ratón), y seleccionar "Reset master branch to here". Si no tienes cambios no comprometidos, elige la opción "hard".