郭艺宾 · 2019年08月20日

Git常用套路(07)子模块

  • 前提:父项目和子项目都是独立的项目,在父项目中用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
推荐阅读
关注数
2
文章数
50
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息