По моему git submodule самое то оно.
Создаёте 3 реп. туда общие файлы. И в каждый реп добавляете субмодуль. По мере обновления синхронизируете субмодули!
Чем хорошо субмодуль? Тем что, вы можете "взять" слепок основного репа и субмодуля. При этом вести активную работу на всех трех. Ну и естественно использовать ветвление: всё что уходит в деплой берёте строго с веток релиз (например). + правильно здесь использовать теги. Особенно у субмодуля. Т.е. забирать с субмодуля не по камиту, а по тегу.
Удачи!