我可以在同一个git repo中与其他子目录共享一个子目录吗?

时间:2019-04-10 16:20:27

标签: git github git-submodules git-subtree

假设我的回购结构目前类似于:

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 submodulegit 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 *目录中的更改?

我知道我可以将其分解为一个单独的回购协议。但是是否可以具有上述结构?我也知道我可以创建一个执行此操作的自动化脚本,但是我正在尝试尽可能使用上述结构。

0 个答案:

没有答案