Сделать для каждого модуля свой репозиторий, в отдельной ветке репозитория для модуля хранить ядро.
Получится что разработчики разрабатывающие общий модуль будут иметь только этот модуль.
Разработчики разрабатывающие ядро (как я понимаю, оно индивидуально для каждой пары модулей), будут иметь доступ только к ядру модулей.