Agregar funciones con twigs incrementalmente

Estoy creando un proyecto en el que me gustaría tener una twig base que sea una versión rudimentaria del proyecto y permitir a los usuarios fusionar sucursales adicionales para agregar funciones. ¿Cómo evito los conflictos de fusión? Es probable que haya líneas comunes que cambian entre las twigs, así como los files que se eliminan o renombran.

Al principio, intenté simplemente basar cada nueva twig en la twig anterior, pero se me ocurrió que alguien podría querer featureA y featureC pero no featureB. Hacerlo de esa manera requeriría que alguien fusionando featureC acepte también featureB.

El objective es tener una twig de reference y el usuario puede fusionarse

  • featureA branch
  • featureC branch
  • featureN branch

en cualquier combinación, siempre y cuando comiencen con la twig de la línea de base, y aún así terminen con un proyecto en funcionamiento sin conflictos de fusión.

es posible?

Parece que necesitas build un marco de plugins con ganchos para que las funciones principales se puedan ampliar con código personalizado. No es trivial, seguro, pero hay un montón de ejemplos por ahí.

Pero definitivamente, Git NO es la herramienta adecuada para el trabajo. Incluso cuando cree que puede manejar una fusión sin conflictos, el resultado puede no ser funcional en absoluto. Por ejemplo, una combinación que elimina una function "no utilizada" y otra combinación que realmente usa esa function, no están en conflicto, en lo que concierne a git. Pero el resultado son errores de time de ejecución.