Такие модули я разрабатывал через тестирование.
Проект разрабатывается отдельно, пишутся тесты в симулированном окружении.
А в проекте он только используется, не модифицируется.
Ну да, кто первый пройдет Code Review, тому проще :) Второй будет мержить develop перед принятием.
А если необходимы общие изменения только в двух бранчах, то один базируется от второго, а не от develop.
И создается PR из второго в первый, а не в develop.
Но такое редко.
Мы используем git flow.
Есть master и develop. Задачи стартуют в feature/* из develop.
После завершения задачи создается PR из feature/* в develop.
После прохождения всех итераций Code Review и успешного билда в CI коммиты в бранче объединяются в один и PR мержится в develop.
Раз в неделю из develop отходит бранч release/*, оттачивается и уходит в master.