.gitmodules中的Git子模块未初始化

4

https://github.com/Uni-/shBrushesCollection

我通过GitHub的web源编辑器创建了一个GitHub仓库,并直接创建了.gitmodules文件。但是当我克隆该仓库时,我发现.gitmodules文件中的子模块没有被初始化。

我尝试了几乎所有可能的命令,包括update、init、update --init等等。有没有一种方法可以使用当前的.gitmodules文件,而不是添加子模块?

1个回答

8

仅编写子模块是不够的。

你应该使用 git submodule add:这将更新你的 .gitmodules 文件并在索引中创建一个特殊条目(你希望加载子模块的位置)。

然后,当你将其推送到 GitHub 上游 repo 时,项目页面将显示这些特殊条目作为绿色文件夹

green folder


谢谢。所以这是因为没有“gitlink”对象……那么为什么.gitmodules存在,而.git/config才是真正起作用的呢? - eonj
1
@Uni- 因为 .git/config 是纯粹的 本地 配置,不会被推送/拉取。.gitmodules 是一个文件,声明 这些子模块是仓库的一部分,被推送到其他仓库,并允许任何克隆该文件的本地仓库使用这些子模块构建其本地的 .git/config - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接