我有一个 Git 项目。我们将其命名为 Proj
。
Proj
有两个子模块,Lib
和 Utils
。
Lib
也有子模块 Utils
。
现在的问题是,当一个人想要git clone --recursive Proj
时,他需要下载两次Utils
。当项目深入时,情况可能会更糟。
那么如何让 Proj
重用 Lib
已经下载的 Utils
呢?
我的工作树:
Proj # Main project
+-- .git
`-- external
+-- Lib # Proj depends on Lib
| +-- .git
| `-- external
| `-- Utils # Lib depends on Utils
| `-- .git
`-- Utils # Proj also depends on Utils
`-- .git
注意:
Utils
最好留在external/Utils
。由于 Windows 兼容性,不允许使用符号链接(symbolic link)。
如果有人能帮我解决这么复杂的问题,我将不胜感激。
最佳答案
正如前面提到的这个不错 programmers-stackexchange-post ,唯一避免下载两次的方法是创建指向 git-submodule 的第一个实例的符号链接(symbolic link)。
关于git - 重用 Git 子模块的子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675163/