Digamos que tengo un proyecto que tiene múltiples componentes: un componente de servidor, un componente de aplicación web, un componente de iOS, un componente de Android, etc. Estos componentes son todas bases de código separadas, pero también están unidas de forma flexible (por ejemplo, un cambio en el servidor el código también podría requerir un cambio en todos los demás componentes)
¿Cuál es la forma más eficiente en Git para organizar este proyecto? Si lo pones todo en un repositorio, siempre tendrías las últimas versiones, pero las cosas se vuelven bastante complicadas cuando comienzas a cambiar un componente y no los otros.
Por otro lado, si crea cada componente como un repositorio separado, ¿cómo podría "vincular" estos repositorios para saber que la versión 2.0 de la aplicación requiere la versión 1.5 del componente del servidor, etc.
¿Hay una característica en git fuera de mantener los léame actualizados (o alguna solución mejor que no veo) para administrar de manera más efectiva múltiples repositorios relacionados?