Reiniciar / deshacer la resolución de conflictos en un solo archivo

189

En una fusión de git más grande con varios archivos en conflicto, marqué incorrectamente un archivo como resuelto (usando git add FILEdespués de alguna edición)

Ahora me gustaría deshacer mi intento de resolución de conflictos y comenzar de nuevo a resolver ese archivo.

¿Cómo puedo hacer eso?

Alex Krauss
fuente
1
ver aquí: stackoverflow.com/questions/373812/…
RandomUs1r

Respuestas:

335

Encontré la solución aquí: http://gitster.livejournal.com/43665.html

git checkout -m FILE

Esto restaura el estado no resuelto, incluida toda la información sobre la base principal y de combinación, lo que permite reiniciar la resolución.

Alex Krauss
fuente
3
+1; esta es la solución real :) git resetno tocará el archivo.
meter el
44
No funcionó para mí, el archivo todavía está marcado con both modified(en estado de conflicto)
Gaui
Esto realmente me ayudó, ya que volvió a colocar el archivo en su estado de resolución anterior al conflicto. Lo interesante es que en lugar de que los dos puntos de fusión se denominen "cabeza" y {REVISIÓN}, ahora se llaman "nuestros" y "suyos".
TGP1994
26
"el archivo todavía está marcado con both modified". Ese es exactamente el resultado previsto de la pregunta.
Kevin Smyth
2
-mcomo en--merge
kontur
0
git reset HEAD FILE

Ejemplo

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
Steven Penny
fuente
66
Cuando hago esto y corro git statusdespués, FILEaparece en "Cambios no organizados para la confirmación". Sin embargo, esperaría que aparezca en "Caminos no fusionados", de modo que mi IDE lo recoja para volver a fusionarlo ...
Alex Krauss