Diciamo che ho un progetto che ha più componenti: un componente server, un componente app Web, un componente iOS, un componente Android, ecc. Questi componenti sono tutti basi di codice separate, ma sono anche liberamente accoppiati (ad esempio una modifica al server il codice potrebbe richiedere una modifica anche a tutti gli altri componenti)
Qual è il modo più efficiente in Git per organizzare questo progetto? Se metti tutto in un repository, avresti sempre le ultime versioni ma le cose diventano piuttosto disordinate quando inizi a cambiare un componente e non gli altri.
D'altra parte, se trasformi ciascun componente in un repository separato, come saresti in grado di "collegare" questi repository in modo da sapere che la versione 2.0 dell'app richiede la versione 1.5 del componente server, ecc.?
Esiste una funzionalità in git al di fuori di tenere aggiornati i file (o qualche soluzione migliore che non vedo) per gestire in modo più efficace repository correlati?