Sort of submodule question- how to require a version of another repo

I have a project that is sort of an inverse of a submodule design…

Instead of a dependent submodule folder within a larger project, I have plugins that depend on a base module…

\BASE
\BASE\folders
\BASE\.git
\BASE\plugins
\BASE\plugins\a\.git
\BASE\plugins\b\.git
\BASE\plugins\c\.git

What I have done is to use .gitignore to exclude anything in the plugins folder.

So now I want to require that the separate repos for a, b, and c are somehow linked to specific commits in \base. For example, Manually, I could commit the base first, then record the commit number in a text file within the plugin, and commit that.

But is there a more formal, managed way to do this? And how would that work if a and b had different requirements? Can I set each to have a minimum base repo commit? Or do I just have to do this manually, which is totally acceptable.