remote from example changes all git undo pull

from - git pull remote



¿Cómo deshacer un git pull? (4)

Me gustaría deshacer mi tirón de git debido a confirmaciones no deseadas en el origen remoto, pero no sé a qué revisión tengo que restablecer.

¿Cómo puedo volver al estado antes de hacer el tirón git en el origen remoto?


Encuentra el <SHA#> para el compromiso al que quieres ir. Puede encontrarlo en github o escribiendo git log o git reflog show en la línea de comandos y luego haga git reset --hard <SHA#>


Esto funcionó para mí.

git reset --hard ORIG_HEAD

Deshacer una fusión o tirar:

$ git pull (1) Auto-merging nitfol CONFLICT (content): Merge conflict in nitfol Automatic merge failed; fix conflicts and then commit the result. $ git reset --hard (2) $ git pull . topic/branch (3) Updating from 41223... to 13134... Fast-forward $ git reset --hard ORIG_HEAD (4)

Compruebe esto: HEAD y ORIG_HEAD en Git para más.


O para hacerlo más explícito que la otra respuesta:

git pull

whoops?

git reset --keep HEAD@{1}

Las versiones de git anteriores a 1.7.1 no tienen --keep . Si usa dicha versión, puede usar --hard - pero es una operación peligrosa porque pierde cualquier cambio local.

Al comentarista

ORIG_HEAD es el estado anterior de HEAD, establecido por comandos que tienen un comportamiento posiblemente peligroso, para que sea fácil revertirlos. Es menos útil ahora que Git tiene reflog: HEAD @ {1} es aproximadamente equivalente a ORIG_HEAD (HEAD @ {1} es siempre el último valor de HEAD, ORIG_HEAD es el último valor de HEAD antes de una operación peligrosa)


git reflog show debería mostrarte la historia de HEAD. Puedes usar eso para averiguar dónde estabas antes del pull . A continuación, puede reset su HEAD a ese compromiso.