¿Cómo usar git para gestionar varios proyectos?

Tengo varios proyectos que usan la misma fuente. Digamos que tengo 3 compañías diferentes que usan una aplicación similar. Las empresas A, B y C pueden tener diferentes cálculos en su trabajo, por lo que cada empresa tiene su propio estilo y formatting de informe.

Quiero ser capaz de administrar las actualizaciones de cada fuente. Por ejemplo, si actualizo el object Usuario, las empresas A, B y C también deberían actualizarse. Pero si actualizo el informe en la compañía B, esos cambios no deberían afectar los informes de las empresas A y C.

Hasta ahora he hecho tenedores en 4 repositorys: aplicación base, aplicación A, aplicación B y aplicación C.

También hice A, B y C, cada uno tiene conexiones ascendentes remotas que apuntan a la aplicación base.

Hice esto:

git remote add upstream https://xxxxxxx.net/xxxx.git 

Mis preguntas:

Ahora tengo un file de configuration para cada proyecto con diferentes parameters.

  1. ¿Cómo puedo evitar actualizar los files de configuration de la aplicación A, B y C si modifico la aplicación base? ¿Puedo especificar qué files se actualizan y qué no?
  2. ¿Tienes alguna otra sugerencia para mantener varios proyectos usando Git?

Deberías usar git submodules para esto.

Básicamente, dentro de la aplicación base, importe A, B, C como submodules, y tenga las vistas, etc. correspondientes a los informes, por separado.

O por el contrario, puede usar la aplicación base como un submodule para definir los models, etc., dentro de cada uno de A, B y C.