This approach uses well-known Git tools, because Git has an innate ability to do such synchronizations.
All we need to add to Git is some convention.
(Consider to use git-sinc, the next generation of remote Git repositories synchronization.)
Say, we have teams in separate companies. Each team owns their own repository hosted on their own separate git server. This often happens for vendor-client scenarios.
- Create a single force, a single team.
- Eliminate severe and constant errors as a result of disunity.
- Eliminate significant time wasting.
- No single repository, no team's heart beating.
I even call this approach as Conventional Distributed Version Control System over Git.