Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以与同一git repo中的其他子目录共享一个子目录吗?_Git_Github_Git Submodules_Git Subtree - Fatal编程技术网

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

我可以与同一git repo中的其他子目录共享一个子目录吗?,git,github,git-submodules,git-subtree,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 ------Shar

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

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
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
目前,如果我需要更新
SharedFile-1
,我需要在每个
项目
目录中进行更新。是否可以使用
git子模块
git子树
创建如下内容:

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
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
…这样,当用户克隆整个repo时,我只需编辑
ROOT/Language B/Language B Shared Files/*
,并在每个
ROOT/Language B/Project*
目录中自动更新更改


我知道我可以把它拆分成单独的回购协议。但是,有可能有上述结构吗?我也知道我可以创建一个自动化脚本来实现这一点,但我正在尽可能地使用上述结构。

您的贡献者是否在Windows上?Git支持符号链接,但大多数都支持,但不是全部。需要跨平台。我正在考虑使用预提交挂钩来复制文件并提交它们。您的贡献者中有人在Windows上吗?Git支持符号链接,但大多数都支持,但不是全部。需要跨平台。我正在考虑使用预提交挂钩来复制文件并提交它们