Pregunta

¿Hay alguna forma de que Git fuerce una resolución manual para un archivo cuando el archivo se editó en ambas ramas?

Mi problema es que quiero algunos cambios de una rama y algunos cambios de la otra. Resulta que estos cambios no siempre coinciden entre sí, pero el algoritmo no siempre está seleccionando el cambio correcto.

Una cosa que observo es que el archivo base en la combinación de 3 vías no es lo que esperaba. ¿Es posible que Git use un archivo elegido de una rama como base?

No hay solución correcta

Otros consejos

Si git detecta conflictos en un archivo, siempre le pedirá que edite (o use una herramienta de combinación) para corregir los conflictos. En este caso, puede arreglarlo como desee antes de organizarlo.

Si git no ha detectado conflictos en un archivo en particular pero si ha detectado conflictos en otra parte, entonces siempre puede corregir ese archivo en particular y agregar las correcciones ( git add ) antes de realizar la confirmación de fusión.

En este caso, puede acceder a las dos versiones principales del archivo a través de git show HEAD: path / to / file y git show MERGE_HEAD: path / to / file . Puede redirigir la salida de git show a temporales si quiere abrirlos en un editor, por ejemplo.

Una vez que haya solucionado el archivo y resuelto cualquier otro conflicto, puede organizar la corrección ( git add ) y hacer la confirmación de fusión ( git commit ).

Si git no detectó ninguna confirmación, hará que la fusión se confirme sin más indicaciones.

En este caso, todavía puedes arreglar tu archivo. Se puede acceder a las dos versiones principales a través de git show HEAD: path / to / file y git show HEAD ^ 2: path / to / file .

Una vez que hayas arreglado el archivo, puedes organizar ( git add ) y rehacer la confirmación de fusión con git commit --amend .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top