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?


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.


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)

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.