为什么 git clone 不能使用子模块?

why git clone not working with submodule?

我知道这个问题可以标记为重复。我已经阅读了很多与此相关的堆栈溢出问题、教程和文档。

但是任何解决方案都不适合我。 (我无法克隆带有子模块的父项目。仅克隆了父项目)

我试过

  1. git 克隆 --recurse-submodules
  2. git 克隆 --recursive

还有很多选择。

我需要配置我的 git 环境来支持子模块吗?

这是我试过的回购协议。

父项目。 https://github.com/chamlyidunil/test-submodule-project

公共项目(子模块) https://github.com/chamlyidunil/common-utility

如果您能提供整个周期的示例 git 命令,那对您真的很有帮助。

  1. git 拉取(使用子模块获取更新)

我的git版本是:git version 2.15.1 (Apple Git-101)

您的项目有一个 .gitmodules 文件,但它没有签入实际的子模块提交。

如果要添加子模块,应该使用git submodule add添加子模块,然后提交结果。这会将子模块提交添加到存储库中,您的存储库目前缺少它。

因此,例如,在父项目的个人克隆中,您将删除当前 .gitmodules 文件和 运行 git submodule add https://github.com/chamlyidunil/common-utility.git common-utility,然后提交结果。