Cómo tener dos proyectos en git. ¿uno se basa en otro y se sincroniza automáticamente en Visual Studio?

Esto puede ser un problema común entre los desarrolladores. Tenemos un proyecto base que actúa como plataforma para otros proyectos.

digamos que el proyecto base es el siguiente:

proyecto-base

file-base-1

file-base-2

file-base-3

el otro proyecto que se basa en el proyecto base debe ser el siguiente:

proyecto-module

file-base-1

file-base-2

file-base-3

file-module-1

file-module-2

file-module-3

el problema con fork es que si cambiamos file-base-1 en el module project y también tenemos algunos cambios en la base del proyecto en el mismo file, llegamos a un conflicto de fusión que debería resolverse manualmente, pero eso no es un problema forma de hacer las cosas, ya que podemos tener más de 20 commits por día en files comunes.

en Visual Studio, puede considerar file-base-1 como un file .sln que rastrea files de proyectos. el file sln-base.sln tiene todos los ajustes de base de proyecto y cuando hacemos un fork en el module de proyecto, el file .sln inicial es el mismo que sln-base.sln

después de eso, podemos agregar algunos otros files al module del proyecto para que el file sln se actualice. pero esto lleva al problema. renombrar el file .sln tampoco ayuda, ya que cuando hacemos una synchronization desde el maestro al proyecto bifurcado, el file .sln quiere sobrescribirse en el sln-module.sln , por lo que git nos pide que realicemos un procedimiento manual para resolver conflictos.

¿Cuál es la mejor práctica de usar git en escenarios como este?