动机
公司有若干个项目,并且各个项目有关联(代码层次),这时我们需要抽取出一个公共模块供其它项目使用,这时我们就需要使用
submodule(子模块)
使用步骤
- 进入项目目录(.git 目录)
使用命令添加子模块
git submodule add git@git.xxxxxx.com:app-labs/swift-mkit.git swift-mkit
- 这时会 clone 子模块,并且生成两个文件,如图:
.gitmodules
中包含子模块的详细信息
clone 包含子模块的项目
方式一:递归 clone 完整的项目
git clone --recursive https://git.coding.net/chernyog/XXX.git
方式二:先 clone 父项目,再更新子项目
- clone 父项目
git clone https://git.coding.net/chernyog/XXX.git
- 此时子模块也会出现,只是空目录而已!
- 初始化子模块
git submodule init
- 更新子模块
git submodule update
- 注意:必须先初始化子模块,否则报错!