【发布时间】:2010-11-06 23:55:33
【问题描述】:
我在 Git 中有一个项目,它有几个子模块,我需要下载这些子模块和可用的文件才能使用主项目,并且为了使子模块工作,我需要它们自己的子模块可用等等。所以为了设置它,我使用git submodule update --init --recursive递归初始化子模块。
但是,我注意到我的许多子模块都有共享依赖项,在伪代码中看起来像这样(alpha -> beta 表示alpha 具有子模块beta)
my project -> submodule a -> submodule m
-> submodule b -> submodule m
-> submodule n -> submodule x
-> submodule c -> submodule x
我的问题是:有没有什么方法可以避免这种重复,只使用 git,同时仍然拥有(至少一个副本)每个子模块的文件?
我可以想象一个带有符号链接的解决方案,但如果 git 为我处理这个问题会更好,而且我不确定自己放入符号链接是否会在更新子模块时导致问题。
理想情况下,我希望将其简化为:
my project -> submodule a -> symlink(submodule m)
-> submodule b -> symlink(submodule m)
-> symlink(submodule n)
-> submodule c -> symlink(submodule x)
-> submodule m
-> submodule n -> symlink(submodule x)
-> submodule x
提前感谢您的任何建议!
【问题讨论】:
-
不是完全相同的问题,但非常相似:stackoverflow.com/questions/1419498/…
标签: git git-submodules