重用Git子模块的子模块

时间:2015-02-23 13:43:35

标签: git repository git-submodules

我有一个Git项目。我们将其命名为Proj

Proj有两个子模块,LibUtils

Lib也有子模块Utils

现在的问题是,当想要git clone --recursive Proj时,他需要下载Utils两次。当项目变得更深时,情况可能会更糟。

那么如何让Proj重新使用Utils已下载的Lib

我的工作树:

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

注意:

  1. Utils最好留在external/Utils

  2. 由于Windows兼容性,不允许使用符号链接。

  3. 如果有人能帮我解决这么复杂的问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

正如前面提到的这个很好的programmers-stackexchange-post中,两次下载这些东西的唯一方法是为你的git-submodule的第一个实例创建符号链接。