подмодули git, поддеревья или другое - PullRequest
0 голосов
/ 13 января 2019

Возможно, я неправильно понял, как работает 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 Ответ

0 голосов
/ 15 января 2019

Я просто хочу оставить косвенное решение, которое я нашел. Это может быть полезно для других, пока не будут найдены другие подходы.

Пока я не могу сбежать, не сохранив папку 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, и зафиксировать репо, чтобы у меня был обновленный скрипт в каждом из зависимых проектов.

...