Cómo deshacer una fusión en GitHub

1 minuto de lectura

avatar de usuario
Tifón101

He estado trabajando en PhpStorm en una rama dedicada, pero cuando presioné a github, inadvertidamente me fusioné con la rama principal.

¿Cómo desharía la fusión tanto en github como localmente? El maestro de github se usa para migrar el código a varios servidores, por lo que necesito retroceder a la confirmación anterior antes de la fusión en lugar de crear una nueva confirmación con mis cambios deshechos.

  • Posible duplicado de Rollback a Git merge

    – Gallo con sombrero

    17/03/2017 a las 14:35

avatar de usuario
kkflf

Debe restablecer la cabeza al compromiso justo antes de su cabeza actual.

git reset --hard <commit_before_merge>

Por ejemplo, git reset –hard master^

  • Eso reiniciará mi sucursal local. ¿Es entonces solo un caso de presionar para actualizar github?

    – Tifón101

    17 de marzo de 2017 a las 14:51

  • Puede restablecer o verificar el compromiso anterior y enviarlo a github como cabeza. Revisa el compromiso anterior checkout master^

    – kkflf

    18 de marzo de 2017 a las 18:42


  • Pero el restablecimiento completo o la confirmación anterior necesitarán un empuje forzado, ¿verdad? Un impulso forzado sobrescribe el historial público y requiere que todos los que hayan clonado el repositorio vuelvan a basar su clon.

    – Sidu

    9 oct 2019 a las 15:50

  • @Siddu Perdón por responderte tan tarde. Sí, tienes que hacer un empujón forzado. git push -f.

    – kkflf

    16 dic 2019 a las 20:48

Para responder a esto de manera más sucinta:

git checkout master
git reset --hard <commit_before_merge>
git push -f

¿Ha sido útil esta solución?