¿Cómo configurar la lógica de fusión de GIT?

Considere este repository: la sucursal principal A contiene un solo file fuente. La twig B se bifurca A. En la sucursal BI, elimine algunas líneas de código. Combino de A a B y resuelvo cualquier conflicto.

Me gustaría configurar la resolución de fusión automática de GIT para mi proyecto al fusionar A en B de modo que:

  • Cualquier modificación adicional a las líneas borradas en B desde A se descartará automáticamente en fusiones posteriores, es decir, recuerde que las líneas se borraron en B. En este momento, tengo un conflicto de fusión cada vez que esas líneas eliminadas se modifican en A y luego se fusionan .
  • Idealmente, si se agregan nuevas líneas en A y en B en el mismo lugar en el file, por ejemplo, al final, la fusión se resolverá automáticamente colocándolas una debajo de la otra.

Aprecio que ese tipo de comportamiento a menudo sería indeseable al fusionar código, pero estamos tratando con un formatting de configuration XML donde estos casos son muy comunes.

¿Es posible configurar GIT para acomodar esa lógica?

No he usado este command yo mismo, pero existe este command git rerere que se supone que debe mantener un logging de los conflictos ya resueltos y volver a aplicarlos más tarde. No estoy seguro de si esto es una solución a su problema, pero sugiero que lo examine.

Si rerere no funciona, creo que debería centrarse en get / crear un controller de combinación compatible con XML. Combinar files XML es una tarea no trivial , pero puede tener suerte con algunas de las opciones disponibles .