Когда я столкнулся с этой проблемой, я создал папку с названием vendors и поместил в нее все подмодули. Затем я сделал символические ссылки, используя относительные пути каталогов к местам, которые я хотел, в моем коде. Вы можете зафиксировать символические ссылки на git, и они все равно будут работать, когда другие извлекают репозиторий. Конечно, это работает, только если вы используете ОС * nix.
Например:
modules/
vendor/module1/src/
Может быть символической ссылкой так (из каталога модулей):
ln -s ../vendor/module1/src module1
Не уверен, решит ли это вашу проблему или нет.