1) Создаете репозиторий (gitlab / bitbucket, предлагаю их, так как есть приватные репозитории).
2) Пишете класс с общим функционалом в ветке master (или выводите для этого отдельную ветвь).
3) Выводите отдельные ветви для каждого из сайтов (версий модуля).
4) При изменение общего модуля делаете слияние веток.
Почитайте тут про
ветви и
слияние. В PhpStrom все это есть и работает без проблем.