Revertir una fusión después de ser empujado


Pasos que realicé:

Tengo dos ramas rama1 y rama2,

$git branch --Initial state
$branch1

$git checkout branch2
$git pull origin branch1 --Step1

Resuelvo los conflictos e hice un

$git commit -m "Merge resolved"

Entonces

$git checkout branch1
$git merge branch2
$git push origin branch1

Ahora me di cuenta de que mientras estaba en el paso 1, la fusión automática eliminó algún código y el código de cambio fue empujado, ahora quiero volver a mi estado inicial para revertir cualquier cambio.¿busca ayuda inmediata?

Author: Marc-André Lafortune, 2012-09-21

2 answers

Puedes revertir la fusión siguiendo la guía oficial , sin embargo esto deja a Git con la creencia errónea de que las confirmaciones fusionadas todavía están en la rama de destino.

Básicamente tienes que:

git revert -m 1 (Commit id of the merge commit)
 61
Author: aleroot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-23 17:28:04

Intente usar git reflog <branch> para averiguar dónde estaba su rama antes de la fusión y git reset --hard <commit number> para restaurar la revisión anterior.

Reflog le mostrará los estados más antiguos de la rama, por lo que puede devolverlo a cualquier conjunto de cambios que desee.

Asegúrate de estar en la rama correcta cuando uses git reset

Para cambiar el historial del repositorio remoto, puede hacer git push -f, sin embargo, esto no es recomendable porque alguien ya puede haber descargado los cambios, empujados por usted.

 18
Author: Ilya Ivanov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-04 17:23:25