前提:父项目和子项目都是独立的项目,在父项目中用git方式引入子项目
1、从头开始,初始化子项目
看一下父项目:
看一下第一个子项目:
看一下第二个子项目:
首先克隆下父项目:
git clone git@gitee.com:blueses/parent.git
然后进入父项目根目录,添加第一个子项目:
git submodule add git@gitee.com:blueses/son-a.git
添加第二个子项目:
git submodule add git@gitee.com:blueses/son-b.git
初始化
git submodule init
这时候看父项目中的文件状态:
多了两个子项目的目录文件夹和一个.gitmodules文件,然后直接提交所有
git commit -m "add all modules"
推送
git push
更新
git submodule udpate --remote
只更新一个
git submodule udpate --remote son-a
在进入网页查看父项目
可以看到每个子项目的目录后面跟了一个@开始的地址
这个地址对应子项目添加时候的提交id,点击可以查看当时的文件内容
在网页上直接点击子项目文件夹,可以直接进入子项目
2、半路加入
首先克隆父项目
git clone git@gitee.com:blueses/parent.git
进入目录,发现子项目的文件夹是空的,初始化
git submodule init
更新,就能更新到文件,但是文件版本是网页上@的版本
git submodule update
拉取所有子项目最新内容:
git submodule update --remote
只更新一个
git submodule udpate --remote son-a
提交
git commit -am "update all"
git push