Sugerencia de infraestructura de repository remoto Git? (Mapas azules)

He estado pensando un time cómo lograr los objectives a continuación por bastante time. Creo que no soy un experto en Git para tener los conocimientos suficientes para crear una buena infraestructura. ¿Alguno de ustedes puede darme las sugerencias?

Guión:

Producto A, B, C Cliente X, Y, Z

Client X has Product A only. Client Y has Product A and B. Client Z has Product B and C. 

Inicialmente estaba pensando que la base debería ser Repo A, B y C por separado y cada uno de ellos tendrá un module separado en una carpeta diferente en caso de que el Cliente tenga una request específica sobre el producto. Pero más tarde, algo se me viene a la mente, ¿y si tomo y saco de Repo A? ¿Se juntará el module por separado a la vez? ¿Cómo debería hacerlo o cualquier otra mejor infraestructura?

¿Qué sucede si tomo y retiro del Repo A ? ¿Se juntará el module por separado a la vez?

No: cada repos es independiente.

Recomendaría tres repositorys adicionales, para hacer reference a los submodules correctos.

  • RepoX para el Client X : hace reference a un submodule A
  • RepoY para el Client Y : hace reference a dos submodules A y B
  • RepoX for Client Z : hace reference a dos submodules B y C

La idea (con submodules) de registrar el SHA1 exacto de cada producto que necesita para un cliente determinado.
de esa manera, si saca un Product Repo:

  • no tiene ninguna influencia sobre los otros repositorys de Product
  • usted vuelve un nivel arriba en el repository padre (un repository del Client ), agrega y confirma el nuevo estado de su submodule, registrando el cambio que hizo en dicho submodule.