目录
-
- 一、简介
- 二、常用命令
- 三、使用方法
-
- 3.1 创建子模块
- 3.2 克隆带子模块的项目
- 3.3 更新子模块
- 3.4 删除子模块
- 四、参考
一、简介
项目需要拆分多个子模块,同时希望各个模块有独立的版本管理。就需要使用Git的submodule功能。
二、常用命令
git submodule add <repository> <path> 添加子模块
git clone <repository> --recursive 递归的方式克隆整个项目
git submodule init 初始化子模块
git submodule update 更新子模块(注意使用过后,子模块不在主分支上)
git submodule foreach git pull 拉取所有子模块
三、使用方法
3.1 创建子模块
步骤1:
创建主工程和子工程。如SubProject和SubModule。
步骤2:
将SubModule添加进SubProject成为子模块。
git submodule add https://github.com/TonyChen-9102/SubModule.git submodule
代码会自动生成 .gitmodules和submodule模块,提交即可。
3.2 克隆带子模块的项目
方式1:一步即可递归clone所有子模块:
git clone https://github.com/TonyChen-9102/SubProject.git --recursive
方式2:分布进行
(一般在已有项目添加子模块时使用)
//clone主工程
git clone https://github.com/TonyChen-9102/SubProject.git
cd SubProject
//初始化
git submodule init
//clone子工程,注意此时子工程分支不在master
git submodule update
3.3 更新子模块
方式1:将所有子模块一并在各自分支更新
git submodule foreach git pull
方式2:cd到各个子模块目录git pull
方式3:使用submodule update(不推荐)
使用update命令后,注意子模块分支。
3.4 删除子模块
直接删除子模块。
在.gitmodules里还会有残余,可以手动清除。
四、参考
https://www.cnblogs.com/nicksheng/p/6201711.html
示例:SubProject
示例:SubModule