La fusión de Git no agrega nuevas líneas

Estoy usando Mageploy para el control de versiones de los cambios del Panel de administración entre desarrolladores, pero parece que Git no puede fusionar ni siquiera líneas completamente diferentes en el file CSV que contiene los loggings de las acciones que se han realizado.

En todos los casos, cuando dos desarrolladores cambian algo en el Panel de administración en su entorno local y comprometen el cambio, si no lo hicieron por turnos (uno de ellos confirma, el otro se fusiona, luego se compromete, luego el primero se fusiona ), git querrá que escojan entre una u otra twig al fusionarse.

En la image a continuación, puede ver el CSV de la twig test1 y el CSV de la twig test2 . Las líneas son completamente diferentes, pero incluso ninguna de las estrategias de fusión disponibles funciona (pulpo nuestro subtree de resolución recursiva).

Mageploy CSV en el Bloc de notas ++ modo de comparación

Simplemente necesito que se agregue la línea de test2 a todas las líneas en test1. E, idealmente, combine correctamente sin conflicto si se agregó test2 a test1 o test1 agregado a test2 (ya que agregar líneas normalmente los coloca en la parte inferior).

Ejemplo:

test1.csv

old-entry old-entry old-entry test1-a test1-b 

test2.csv

 old-entry old-entry old-entry test2-c 

Desarrollador uno combina test2 en su testing1

 old-entry old-entry old-entry test1-a test1-b test2-c 

El desarrollador dos fusiona la testing 1 en su testing2

 old-entry old-entry old-entry test2-c test1-a test1-b 

No pude encontrar una manera de hacer que Git mantenga todas las líneas en el file CSV durante la fusión sin conflicto. Según los comentarios de @ tim-biegelesein y @torek, no hay forma de que Git tome las líneas de ambas twigs.

Usaré algo como esto para evitar eso en mi script de automation de desarrollo. Simplemente elimina las marcas de fusión y confirma la fusión.

 git merge $targetBranch sed -i -e "/<<<<<<<\|=======\|>>>>>>>/d" /path/to/mageploy_all.csv git commit --all --file .git/MERGE_MSG 

El argumento --no-edit no funcionó para usar el post de fusión pnetworkingeterminado sin abrir el editor. Especificar el file de post de combinación funciona en su lugar.


Esto, sin embargo, parece ser susceptible a un problema que se muestra en el Ejemplo en mi pregunta anterior: el order de estas fusiones.

Sospecho que Git hará otro conflicto cuando vea un order diferente de las líneas en el CSV, ya que test1 se fusionó con test2, mientras que test2 se fusionó con test1, al ver las líneas intercambiaron lugares.
No tiene sentido entrar en conflicto con eso, o al less no tener ninguna estrategia de fusión para eso, pero parece que la única opción ahora es escribir más código para solucionar estos casos.