The way I would setup my repositories in an environment like this is
- Each module gets their own git repository for the source code.
- There is a central artifact repository that stores the binary artifacts of all the modules
- The build system for each module retrieves the dependencies from the central artifact repository.
- There is an automated build server that builds each module periodically (weekly, nightly, after every merge to develop/master, etc.) and uploads the build to the artifact repository.
For the artifact repository, I would recommend against git, because there are far better solutions available. Which one to use depends partially on your technology stack, because some stacks work better with some repositories than others.
This setup assumes that each module can be built into a library/executable without having a circular dependency with another module.