1、新建两个git仓库,前端
创建一个负责业务的master仓库,一个业务模块须要依赖的公共common仓库。vue
2、正常拉取主仓库的代码到本地git
git clone ssh://git地址 github
3、进入主仓库,并添加子仓库npm
git submodule add ssh://git地址.git libssh
//添加成功后主仓库根目录增长了.gitmodule文件ui
、、、、、、element
检出get
3.5:若是是克隆已经存在子仓库的版本库使用下面命令:例子 : https://git/boss-base-master.git 仓库地址, sample-ui 本地项目名;具体命令以下it
git clone https://git/boss-base-master.git sample-ui --recursive
拉取下来后,cnpm install //加依赖
npm run dev //运行
、、、、、、
检出
4、添加完子仓库后,须要进一步克隆子仓库文件
git submodule init // 初始化本地配置文件
git submodule update // 检出主仓库列出的commit
或者组合命令
git submodule update --init --recursive
5、在子仓库common中切换到master分支,而且git pull更新代码,这以后主仓库的代码也要提交修改的,由于子仓库变化会致使主仓库变化
及在子仓库目录下进行更新代码,git checkout master; git pull
切换到主仓库根目录,即先cd 根目录; git add . ; git commit -m "aa" ; git push origin -u master
6、在主目录也是能够修改子仓库的,须要进行提交修改。
7、删除子仓库
删除 .gitsubmodule里相关部分
删除 .git/config 文件里相关字段
删除子仓库目录
git rm --cached <本地路径>
//若是未按照上述步骤删除,可能残留在.git/modudles文件夹内
项目例子:基于vue2和elementUI+git实现的前端boss基础版本,实现一套公共代码多套业务代码组成多个子项目的想法