Git Merge Deshacer y cambiar al compromiso anterior

Acabo de comprometer mis cambios locales con git commit -m "commit 1"

. Luego, hice git pull origin para adquirir cambios desde la twig remota. Luego, durante la fusión, algo salió mal. Es decir, después de la fusión, no veo mis cambios. ¿Cómo puedo volver a commit1 desde el actual?

Este compromiso es exactamente uno detrás de la position actual de HEAD si hago el git branch checkout en esta sucursal.

La forma más segura y, probablemente, más limpia de ir es la rebase interactiva:

 git rebase -i HEAD^^ 

Alternativamente,

 git reset --hard commit-id git push 

Es posible que tengas que dar una git push -f .

No lo ayuda a recuperar sus cambios locales en este caso, pero en el futuro puede hacer lo siguiente para evitar la pérdida:

 git stash git pull git stash pop 

use git reflog show show para ver el historial de HEAD, puede restablecer su HEAD a esa confirmación (en su caso probablemente git reset HEAD@{1} .

Bueno, si solo ves la versión anterior de forma temporal, siempre puedes verificar la commit 1

comience por el git log y encuentre su hash de confirmación

Luego, revisa la confirmación:

 git checkout acb1234 

Verás la versión anterior de tu fuente.

Si realmente quieres regresar antes de tu fusión

 git reset --hard acb1234 

Si presionó su fusión, lo que puede hacer es revertir:

 git revert -m 1 1a2b3c # the merge hash