添加子模块
如果项目分的模块比较多,而且对每个模块需要独立管理的话,子模块就派上用场了。每一个子模块都是一个独立的git仓库,有点类似于svn的外链。下面简单讲一下在现有的git仓库里添加子模块的配置。
在主项目中添加子模块
git submodule add git@gitlab.code.anzogame.com:octopus/L1.git
这就完啦?对,就这么简单,回车后就会自动clone子模块的最新代码下来,并命名为L1,当然也可以重命名,只需要在命令后面跟上需要重命名的名字即可。
子模块的使用
clone带子模块的项目,前提是对子模块的仓库是有相应权限的
//方式一
git clone --recursive <url>
//方式二
git clone <url>
git submodule init
git submodule update
其实主项目只是保存了一个子模块的地址和对应的commit号,如下图:
**注意这里只指向子模块仓库的某一个版本,一般情况下并不会特别指向某一个分支,clone
代码的时候是把这个版本的代码clone
下来了(不一定的子模块最新的代码)。**如下图: