步骤1:在父仓库中添加子仓库
- 创建父仓库(parent)如地址: https://github.com/a/a.git
- 创建子仓库(child) 如地址: https://github.com/a/b.git(如果该仓库已经存在则不需要再创建)
注: 创建仓库的时候勾选README.md,保证不是空仓库
步骤2:打开git bash命令窗口
步骤3:父仓库添加子仓库依赖
①克隆父仓库
$ git clone https://github.com/a/a.git
②添加子仓库
$ git submodule add https://github.com/a/b.git
③push到父仓库
$ git add .
$ git commit -m ‘添加子模块’
$ git push
注: 当第二步(添加子仓库)操作完成之后,项目中将生成gitmodules文件
文件内容如下:
[submodule "b"]
path = b
url = https://github.com/a/b.git
其它辅助用法
递归克隆父仓库
$ git clone --recursive https://github.com/a/a.git
更新子仓库
6.1 更新已存在的仓库代码
git submodule foreach git pull origin master
6.2 更新新增的子仓库代码
git submodule update
6.3 删除子模块
git submodule deinit submodulename
git rm submodulename
git rm --cached submodulename
rm -rf ./git/modules/submodulename 这一步是针对已经update之后的子模块删除的
6.4 修改子模块url
打开.gitmodules,找到对应模块的url并修改,然后保存
打开git,输入git submodule sync