Git submodule 特性

当你习惯了代码的 VCS 后,基本上是离不开的。

作为一个依赖多个子项目组成的项目,要实现直观的代码逻辑结构,可以考虑使用 Git submodule 特性。

当然,如果只是单独的依赖的话,用依赖管理即可,如Java 中的 Maven、Node.js 中的 npm、PHP 中的 composer。

给项目添加submodule

命令如下:

git submodule add 仓库地址 路径

其中,“仓库地址”是指子模块仓库地址,“路径”指将子模块放置在当前项目下的对应路径。

注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有项目已有的目录(不能 Clone)

命令执行完成,会在当前项目根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。

添加完成以后,再将子模块所在的文件夹添加到项目中即可。

删除

首先,在“.gitmodules”文件中删除相应配置信息。然后执行“git rm –cached ”命令将子模块所在的文件从git中删除。

下载项目带有的submodule

当使用git clone下来的项目中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:

git submodule update --init --recursive

即可将子模块内容下载下来。

原文地址:https://www.cnblogs.com/x3d/p/git-submodule.html