Cancelar fusionar después de hacer clic

Pasos completados:

Tengo dos ramas, rama1 y rama2,

 $git branch --Initial state $branch1 $git checkout branch2 $git pull origin branch1 --Step1 

Resuelvo conflictos y lo hice.

 $git commit -m "Merge resolved" 

que

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

Ahora me di cuenta de que, al estar en el paso 1, la combinación automática eliminó algo de código y se hizo clic en el código de cambio, ahora quiero volver a su estado original para deshacer los cambios. ¿Buscando ayuda inmediata?

45
21 сент. Bijendra set 21 sep. 2012-09-21 19:20 '12 a las 19:20 2012-09-21 19:20
@ 3 respuestas

Puede devolver la fusión siguiendo las pautas oficiales , pero esto deja a Git con la creencia errónea de que las confirmaciones fusionadas aún están en la rama de destino.

Básicamente deberías:

 git revert -m 1 (Commit id of the merge commit) 
63
23 сент. respuesta dada por aleroot 23 de septiembre 2012-09-23 20:28 '12 a las 8:28 pm 2012-09-23 20:28

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

Reflog le mostrará el estado anterior de la rama, por lo que puede devolverlos a cualquier conjunto de cambios que desee.

border=0

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

Para cambiar el historial de repositorios remotos, puede hacer git push -f , sin embargo esto no es recomendable, ya que alguien ya puede descargar los cambios que ha cargado.

18
21 сент. Respuesta dada por Ilya Ivanov el 21 sep. 2012-09-21 19:33 '12 a las 19:33 2012-09-21 19:33

La primera opción es usar git revert .

 git revert -m 1 [sha-commit-before-merge] 

git revert devolverá los cambios, pero guardará el historial. Por lo tanto, no podrá seguir trabajando en la misma rama, porque ya no verá la diferencia real entre la rama combinada y la rama. Utilice el siguiente método para eliminar el historial. Hágalo con mucho cuidado, solo si usted es el único que está presionando los cambios en la sucursal en este momento.

 git reset --hard [sha-commit-before-merge] git push [origin] [branch] --force 
0
07 дек. La respuesta se da Asanka sanjaya 07 dic. 2018-12-07 14:03 '18 a las 2:03 pm 2018-12-07 14:03

Otras preguntas sobre tags o Haz una pregunta