代码仓库管理

Submodule 子仓库管理

参考文档: https://www.jianshu.com/p/b49741cb1347

使用 git submodule 把项目分为一个主仓库与若干个子仓库。微前端的主体框架存放在主仓库中,各项目业务代码存放在各个子仓库中。发布时,主仓库可以同步指定的一个或多个子仓库的代码进行发布

主仓库同步代码到子仓库(需要进入到对应的子仓库提交代码)

cd 子仓库名
git add .
git commit -m '描述'
git push origin HEAD:master

主仓库 clone 子仓库代码

git submodule init
git submodule update

主仓库同步子仓库代码

## 同步所有子仓库代码
git submodule foreach git pull

## 同步某子仓库代码
cd 子仓库目录
git pull

发布步骤的差异

原来发布步骤

切换到对应环境分支
拉取代码
安装 npm 依赖
打包项目
拷贝打包文件到指定目录

现在发布步骤

切换到对应环境分支
拉取代码
同步子仓库代码(可以同步全部子仓库代码或者只同步某个特定子仓库代码)
安装 npm 依赖
打包项目
拷贝打包文件到指定目录

如何单独运行子仓库代码

因为项目依赖与common,所以子仓库代码没有common时无法单独运行,需要把common复制到子仓库代码的同级

1、拉取子仓库代码

2、拉取一份common代码,置于需要运行的子仓库代码同级

3、安装依赖

4、运行项目

以微咨询(micro-consulting)项目为例:

  • 拉取代码
git clone https://codeup.aliyun.com/5f009f6e6a575d7f23661045/product/frontend/micro-apps/micro-consulting.git
  • 拉取一份common代码,置于需要运行的子仓库代码同级

  • 安装依赖

  • 运行项目