Git Cómo hacer un repository maestro que rastree otros dos repos

Estamos trabajando en una aplicación y usamos Github para mantener y versionar nuestro código.

Actualmente, somos 2 personas que trabajan en un repository separado ( RepoA y RepoB ).

Decidimos que sería mejor si tuviéramos 1 repo maestro para mantener la aplicación completa, pero también queremos continuar trabajando en nuestros repositorys por separado. Seguí este tutorial para combinar ambos repos en un nuevo repository maestro ( RepoC ).

Todo funcionó a la perfección, pero ahora tenemos el problema de que los cambios en RepoA o RepoB no se reflejan en RepoC y viceversa.

Así que me preguntaba … ¿Hay alguna forma de que podamos decirle a RepoC que " rastree " RepoA y RepoB en busca de cambios y que se sincronice con ellos cuando sea necesario?

Si lo anterior no es posible, existe al less una forma en la que podemos contribuir a nuestros propios repositorys y luego hacer algo como " git fetch RepoA , git fetch RepoB " en nuestro RepoC maestro para que refleje los cambios que hemos realizado.

En teoría, un repo puede rastrear un número infinitivo de repos por diferentes remotos y twigs.

Supongamos que la url de RepoA es git://host/repoa.git y RepoB es git://host/repob.git . Cada uno tiene tres twigs, maestro , function y lanzamiento , por ejemplo.

En RepoC, podemos crear dos controles remotos.

 git add remote origina git://host/repoa.git git add remote originb git://host/repob.git 

Y entonces

 git fetch --all 

Todas las twigs en ambos repos pueden ser rastreados.

Sin embargo, este enfoque tiene algunos problemas.

  1. Puede verificar solo una de estas twigs, lo que significa que no puede tener 2 códigos de repository en el mismo tree de trabajo.
  2. Cuando pague / cree sucursales locales desde las sucursales de rastreo remotas, debe nombrarlas cuidadosamente para no confundirse.
  3. Cuando RepoA y RepoB tienen tags con el mismo nombre, solo una de ellas se puede recuperar en RepoC.

Como los ha fusionado en RepoC, puede crear dos controles remotos y seguir ambos. Pero, ¿por qué no utilizar dos repositorys para rastrearlos?

Eche un vistazo a la function de submodules de git: https://git-scm.com/book/en/v2/Git-Tools-Submodules

Saludos

Andoni