通过git实现微前端公共资源共享⽅案(subtree)
通过 git 实现微前端公共资源共享⽅案(subtree)聊天气泡
公共资源⼯程机构:
|-----------web-portal
| |------src
| |------library
|-----------web-sub1
| |------src
| |------library
酒字开头的成语|-----------web-sub2
| |------src
| |-----library
|
菠萝的web-common(library)(公共资源仓库)
下⾯就使⽤ git subtree 为每个应⽤引⼊ library
1. 将 library 仓库添加⾄应⽤仓库的 src/library 位置: 在项⽬仓库根路径执⾏以下命令
git subtree add --prefix=src/library git@:XXX/web-common.git dev --squash
执⾏完毕,每个⼦应⽤仓库 src/ 路径下会出现 library ⽂件夹,–prefix=后⾯即是路径
射手巨蟹2. 拉取公共仓库代码(如果公共仓库有更新)
git subtree pull --prefix=src/library git@:XXX/web-common.git dev --squash
制作书签git@:XXX/web-common.git 是 gitlab 仓库地址。
3. 将src/library 下的内容改动推送⾄公共资源仓库
git subtree push --prefix=src/library git@:XXX/web-common.git dev
注意,你的项⽬代码正常推送即可,src/library 作为项⽬下的⼀个⽂件夹⽆需特殊处理(⽅便!)
4. 说到⽅便,每次命令都需要写公共资源仓库git@:XXX/web-common.git 地址是很不⽅便,可以将先将公共资源仓
雅的成语库地址添加为 remote:
git remote add -f library git@:XXX/web-common.git
5. 此后再提交即可使⽤以下精简命令
git subtree add --prefix=src/library library dev --squash # --squash 参数表⽰不拉取历史信息,⽽只⽣成⼀条commit信息。
git subtree pull --prefix=src/library library dev --squash
git subtree push --prefix=src/library library dev
注意如果不是⾃⼰负责的⼦⼯程,也需要添加:卫星相撞>思想成语
git remote add -f library git@:XXX/web-common.git