Допустим, моя структура репо сейчас выглядит примерно так:
ROOT
--LanguageA
----Project A-LangA
----Project B-LangA
----Project C-LangA
--Language B
----Project A-LangB
------SharedFile-1
------SharedFile-2
------SharedFile-3
----Project B-LangB
------SharedFile-1
------SharedFile-2
------SharedFile-3
----Project C-LangB
------SharedFile-1
------SharedFile-2
------SharedFile-3
В настоящее время, если мне нужно обновить SharedFile-1
, я должен сделать это в каждом каталоге Project
. Можно ли использовать git submodule
или git subtree
для создания чего-то вроде:
ROOT
--LanguageA
----Project A-LangA
----Project B-LangA
----Project C-LangA
--Language B
----Project A-LangB
------SharedFile-1 (auto-updating clone)
------SharedFile-2 (auto-updating clone)
------SharedFile-3 (auto-updating clone)
----Project B-LangB
------SharedFile-1 (auto-updating clone)
------SharedFile-2 (auto-updating clone)
------SharedFile-3 (auto-updating clone)
----Project C-LangB
------SharedFile-1 (auto-updating clone)
------SharedFile-2 (auto-updating clone)
------SharedFile-3 (auto-updating clone)
----Language B Shared Files
------SharedFile-1
------SharedFile-2
------SharedFile-3
... так, что мне нужно только редактировать ROOT/Language B/Language B Shared Files/*
и автоматически обновлять изменения в каждом ROOT/Language B/Project *
каталоге, когда пользователь клонирует весь репо?
Я знаю, что могу разбить его на отдельный репо. Но возможно ли иметь вышеуказанную структуру? Я также знаю, что могу создать сценарий автоматизации, который делает это, но я стараюсь по возможности использовать вышеуказанную структуру.