Подмодули git, поддеревья или другое
Вероятно, я неправильно понял, как работает git, у меня есть моя структура каталогов следующим образом:
project (git-repo)
project 1 (git-repo)
project 2 (git-repo)
common scripts (git-repo)
Все эти папки имеют свои собственные репозитории, где основные project
могут иметь дочерние репозитории, такие как project 1
, project 2
, child scripts
, Они могут быть субмодулями или поддеревом. Проблема, common scripts
содержат некоторые коды, которые являются общими и необходимыми для создания как project 1
а также project 2
, Что может быть лучшей стратегией для поддержания этого, чтобы каждый проект мог быть независимым, а также нет необходимости хранить общие сценарии в двух местах.
1 ответ
Я просто хочу оставить косвенное решение, которое я нашел. Это может быть полезно для других, пока не получат другие подходы.
Пока я не могу убежать, не соблюдая common scripts
папка в двух местах, но можно хранить ее в одном месте. Ниже приводится структура, которую я принял на данный момент,
project
project 1 (git-repo)
common-script (git-repo/submodule)
project 2 (git-repo)
common-script (git-repo/submodule)
common-script (git-repo)
Таким образом, я могу работать над common-script
из своего репо и из каждого проекта, который я могу использовать git submodule foreach git pull origin master
и сделайте репо, чтобы у меня был обновленный скрипт в каждом из зависимых проектов.