git submodule介绍

背景

面对比较复杂的项目,我们有可能会将代码根据功能拆解成不同的子模块。主项目对子模块有依赖关系,却又并不关心子模块的内部开发流程细节。
这种情况下,通常不会把所有源码都放在同一个 Git 仓库中。
有一种比较简单的方式,是在当前工作目录下,将子模块文件夹加入到 .gitignore 文件内容中,这样主项目就能够无视子项目的存在。这样做有一个弊端就是,使用主项目的人需要有一个先验知识:需要在当前目录下放置一份某版本的子模块代码。
还有另外一种方式可供借鉴,可以使用 Git 的 submodule 功能,也是这篇文章的主题。
实际上 Git 工具的 submodule 功能就是建立了当前项目与子模块之间的依赖关系:子模块路径、子模块的远程仓库、子模块的版本号。

实践中的坑

git submodule update –remote,会通过.gitmodule文件拉取sub模块对应配置的分支的远端仓库代码。
git submodule update,才会更新为本地sub模块的最新的节点

参考文档

Git中submodule的使用—知乎
submodule使用方法—csdn
submodule知识总结

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Contents
滚动至顶部