Соединять репозитории можно либо через git modules (но мне не нравится этот способ), либо же любым удобным пакетным менеджером, например, тот же npm.
Это принципиально не корректная идея использования репозитория. В данном случае надо иметь отдельный репозиторий с ядром и несколько репозиториев с доп. функционалом. То есть 1 проект = 1 репозиторий.
Ветки нужны только для временной разработки и последующего вливания в мастер
Ну или сделайте модульную структуру и подход feature flags