当你了解到submodule(git的子模块)时,应该已经会用git submodule add [公共仓库地址]。
也就是:对父仓库嵌套一个子仓库(也就是submodule子模块),一般这个子仓库是公共使用的,并且有人去维护更新。
但是,
项目需要同时更新父仓库和子仓库时候,该怎么办呢?
一般人是首先想到的是git pull origin master后git submodule update。
但是我们可以借助npm init生成的一个package.json文件的"scripts"来配置一个具有先后顺序的同步拉取以及并发拉取。
"scripts": {
"pull": "git pull origin master && git submodule foreach git pull"
}
q其中&&表示具有先后顺序的同步拉取。一个&则表示并发拉取。
这就可以实现父仓库和子仓库的同时更新。
但要注意。在首次拉取具有submodule(子模块)的项目时候,需要初始化。
因此,
我们可以在script再配置一个init命令
"scripts": {
"init": git submodule init && git submodule update
"pull": "git pull origin master && git submodule foreach git pull"
}