Я обнаружил, что способ не допустить слияния части ветви на постоянной основе в другую ветвь - это использовать подмодули.
Я создал папку для модульных тестов в качестве собственного репозитория.и затем включил его в мою основную ветку (которая не является производственной / основной веткой) в качестве подмодуля.
https://git -scm.com / book / en / v2 / Git-Tools-Подмодули
По умолчанию, когда вы клонируете репозиторий, подмодули не клонируются с ним.Каталог подмодуля создается, но остается пустым, если вы также не выполните
git submodule init
git submodule update
. Поэтому это так же просто, как не включать приведенные выше команды в рабочий клон git, но включать их, когда вы клонируете репозиторий для тестирования илиразвитие.Вы можете внести любые изменения в каталог tests вместе с базой кода и зафиксировать оба вместе.Это означает, что тесты можно разрабатывать вместе с базой кода без риска их развертывания в рабочей среде.
Я нашел следующие псевдонимы, полезные для настройки для оптимизации операций git:
$ git config alias.sdiff '!'"git diff && git submodule foreach 'git diff'"
$ git config alias.spush 'push --recurse-submodules=on-demand'
$ git config alias.supdate 'submodule update --remote --merge'
Кажется, этобыть правильным подходом к решению проблемы того, чтобы разделение кода в одном репозитории отличалось для каждой ветви.