I might be a bit late to the party, but… I think here you were discussing two different questions.
I need to have some kind of Log or something where I keep the global version of the group of repositories all together.
This is indeed doable by git submodules, which are just a special kind of object pointing to a repository URL and commit - like symbolic links in a filesystem. You can have a “dispatcher” repository with lots of such links defined; you can have branches and versions of this repo pointing to different sets and revisions of components of your ecosystem (e.g. to track what constitutes a product release bundle). And it being a git repository storing lots of such references, it can be represented by a bare repo too.
The other question is checking out all your codebase dispersed into many git repos. This, it seems, requires that you
git clone this dispatcher as a full repo with a workspace - and in that workspace do the
git pull, maybe
git submodule update and other magic, to get workspaces with those component sources as well.