git - 重用 Git 子模块的子模块

标签 git repository git-submodules

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

Proj 有两个子模块,LibUtils

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

注意:

  1. Utils最好留在external/Utils

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

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

最佳答案

正如前面提到的这个不错 programmers-stackexchange-post ,唯一避免下载两次的方法是创建指向 git-submodule 的第一个实例的符号链接(symbolic link)。

关于git - 重用 Git 子模块的子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675163/

相关文章:

java - 从嵌套列表 Spring JpaRepository 中检索对象

c# - 如何指定泛型类型标识符类型(用于数据库查询)以及泛型类型

git - 推送的 git 存储库在 gitk 上缺少分支和标签名称

git - 如何远程触发 Jenkins 多分支管道项目构建?

java - SVNKit - 检查目录是否存在

bash - 如何将变量注入(inject) git submodule foreach?

github - 部署失败 - 添加子模块问题 - 使用 Netlify

git - git 中可读的子模块状态信息

git - 使用 git 子模块比在另一个带有 gitignore 的 repo 中有一个 repo 有什么优势?

Git: "Not currently on any branch."有没有一种简单的方法可以在保留更改的同时回到分支?