Estoy en la rama mybranch1. mybranch2se bifurca mybranch1y se realizaron cambios en mybranch2.
Luego, mientras estaba encendido mybranch1, lo hice git merge --no-commit mybranch2
Muestra que hubo conflictos al fusionar.
Ahora quiero descartar todo (el mergecomando) para que mybranch1vuelva a ser lo que era antes. No tengo idea de cómo hago esto.
git
git-merge
git-merge-conflict
Anshul
fuente
fuente

Respuestas:
Último Git:
Esto intenta restablecer su copia de trabajo al estado en que se encontraba antes de la fusión. Eso significa que debería restaurar los cambios no confirmados antes de la fusión, aunque no siempre puede hacerlo de manera confiable. En general, no debe fusionarse con cambios no confirmados de todos modos.
Antes de la versión 1.7.4:
Esta es una sintaxis anterior pero hace lo mismo que la anterior.
Antes de la versión 1.6.2:
que elimina todos los cambios no confirmados, incluida la fusión no confirmada. A veces, este comportamiento es útil incluso en versiones más nuevas de Git que admiten los comandos anteriores.
fuente
git reset --mergeincluso en versiones más recientes. He tenido ungit merge --aborterror (sin hacer cambios) dondegit reset --mergetiene éxito (y hace lo correcto) en git 2.2.1.git merge --abortseguido degit reset --mergecuando el conflicto de automerge aparecía en mi escondite.git merge --abortfunciona para mí, sin embargo, me encontré en una situación en la que salí en un estado HEAD separado, y uno de mis archivos tenía un estado "ambos modificados". Quería descartar todo y volver a una sucursal, tuve que hacerlogit reset --hard,git merge --abortme dijeron que no había fusión para abortar (falta MERGE_HEAD).git merge --abortno es capaz de devolverle su estado anterior, y en ese caso la "sintaxis anterior"git reset --hardfunciona.En realidad, vale la pena notar que
git merge --abortsolo es equivalente a logit reset --mergedado queMERGE_HEADestá presente. Esto se puede leer en el comando git help for merge.Después de una fusión fallida, cuando no existe
MERGE_HEAD, la fusión fallida se puede deshacergit reset --mergepero no necesariamente congit merge --abort, por lo que no solo son sintaxis antiguas y nuevas para la misma cosa .Personalmente me parece
git reset --mergemucho más útil en el trabajo diario.fuente
git stash applyuna rama incorrecta ygit merge --abortno hice nada (noMERGE_HEAD), mientras quegit reset --mergehice el truco.git merge --abortes el nuevo comandogit reset --mergey me encontré con el mismo problema que @geomaster. ¡Fue súper útil, gracias!Asumiendo que estás usando el último git,
fuente
Hay dos cosas que puede hacer primero deshacer la fusión por comando
o
puede ir a su estado de confirmación anterior temporalmente por comando
fuente
Sourcetree
Si no confirma su fusión, simplemente haga doble clic en otra rama (= pago) y cuando sourcetree le pregunte si desea descartar todos los cambios, acepte
fuente