Me encontré con un conflicto de fusión. ¿Cómo cancelo la fusión?

Resuelto Gwyn Morfey asked hace 16 años • 0 respuestas

Usé git pully tuve un conflicto de fusión:

unmerged:   some_file.txt

You are in the middle of a conflicted merge.

¿Cómo abandono mis cambios en el archivo y conservo solo los cambios extraídos?

Gwyn Morfey avatar Sep 19 '08 20:09 Gwyn Morfey
Aceptado

Dado que pullno tuvo éxito, entonces HEAD(no HEAD^) es la última confirmación "válida" en su rama:

git reset --hard HEAD

La otra parte que desea es permitir que sus cambios anulen los suyos.

Las versiones anteriores de git te permitían usar la estrategia de fusión "de ellos":

git pull --strategy=theirs remote_branch

Pero desde entonces esto se eliminó, como lo explica en este mensaje Junio ​​Hamano (el mantenedor de Git). Como se indica en el enlace , en su lugar harías esto:

git fetch origin
git reset --hard origin
Pat Notz avatar Sep 19 '2008 14:09 Pat Notz

Si su versión de git es >= 1.6.1, puede usar git reset --merge.

Además, como menciona @Michael Johnson, si tu versión de git es >= 1.7.4, también puedes usar git merge --abort.

Como siempre, asegúrese de no tener cambios no confirmados antes de iniciar una fusión.

Desde la página de manual de git merge

git merge --abortes equivalente a git reset --mergecuando MERGE_HEADestá presente.

MERGE_HEADestá presente cuando hay una fusión en curso.

Además, con respecto a los cambios no confirmados al iniciar una fusión:

Si tiene cambios que no desea confirmar antes de iniciar una combinación, solo git stashhágalos antes de la combinación y git stash popdespués de finalizarla o cancelarla.

Carl avatar Mar 28 '2010 23:03 Carl
git merge --abort

Cancele el proceso de resolución de conflictos actual e intente reconstruir el estado anterior a la fusión.

Si había cambios no confirmados en el árbol de trabajo cuando comenzó la fusión, git merge --aborten algunos casos no se podrán reconstruir estos cambios. Por lo tanto, se recomienda confirmar o guardar siempre los cambios antes de ejecutar git merge.

git merge --abortes equivalente a git reset --mergecuando MERGE_HEADestá presente.

http://www.git-scm.com/docs/git-merge

ignis avatar Nov 12 '2012 21:11 ignis