Invierta el último impulso en Github.

He presionado en la twig incorrecta, quiero presionar en una nueva twig, pero presioné en la twig master . ¿Hay alguna forma de invertir el último impulso comprometido y get el último código y volver a presionarlo en la nueva twig?

Deshaga la última confirmación mediante restablecimiento parcial de la twig master local y conserve los cambios localmente (en el tree de trabajo).

 $ git checkout master $ git reset --soft HEAD~1 $ git log # make sure the last commit is reverted successfully as you expect. 

Pagar en una nueva sucursal (por ejemplo, feature ). Agregar, confirmar, enviar a la sucursal remota ( feature aquí).

 $ git checkout -b feature # checkout new branch with the local changes $ git status # see the changed files $ git add . $ git commit -m 'message' $ git push origin HEAD 

Volver al master local y forzar push para actualizar el maestro remoto (eliminaría el último compromiso)

 $ git checkout master $ git push -f origin HEAD 

NB: Empuje de fuerza necesario desde que se cambió el historial del maestro remoto.


Alternativo: si no tiene permiso de fuerza forzada o alguien más sacó el origin/master y ya obtuvo su último compromiso. Entonces, mejor revierte la última confirmación en su lugar (cambio de historia).

 $ git checkout master $ git log # copy the last-commi-hash $ git revert <last-commit-hash> $ git push origin HEAD # note, no force push is needed 

Crea una nueva sucursal y elige con precisión el último compromiso y presiona hacia el control remoto.

 $ git checkout -b feature $ git cherry-pick <last-commit-hash> $ git push origin HEAD 
 git log 

Esto te dará un logging de todas las confirmaciones y luego git reset --hard "commit id" Esto se reiniciará a la cabeza dada