前端工程化-Git SubModule在实际开发中的应用
Posted Songlcy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端工程化-Git SubModule在实际开发中的应用相关的知识,希望对你有一定的参考价值。
背景
在前端日常开发中,我们经常Git来做代码版本管理工具,使用方式基本是one To one。即一个项目对应一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,怎么做呢?
方案一般有两种:
-
封装成NPM包进行依赖复用
-
使用Git子仓库对代码进行依赖复用
在基因宝Genebox小程序业务场景开发中,由于多个小程序中都会涉及支付、地址管理、订单等功能,部分页面是重叠的,开发过程中重叠部分如果开发两套代码会影响开发效率,考量之后决定使用Git子模块的方式进行开发,父级仓库依赖公共的子模块,子模块本身和父级仓库一同进行开发,避免了版本和重复开发的问题。
多个父级仓库都依赖同一个子仓库,但是子仓库自身不单独进行修改,而是跟随父级项目进行更新发布,其他依赖子仓库的项目只负责拉取更新。
什么是Git子仓库?
简单理解, 一个Git仓库下面放了多个其他的Git仓库,其他的Git仓库就是父级仓库的子仓库。
在刚开始使用Git子仓库的时候,很可能会导致使用子仓库出现云里雾里的现象,搞不清楚是父级仓库先提交,还是子仓库先提交,所以我们会先介绍子仓库的两种使用方式,然后携带一些子仓库的Git底层的分析让大家对子仓库有一个更加全面的认识。
Git两种子仓库使用方案
-
git submodule
-
git subtree
Git submodule (子模块)
Git子模块允许我们将一个或者多个Git仓库作为另一个Git仓库的子目录,它能让你将另一个仓库克隆到自己
以上是关于前端工程化-Git SubModule在实际开发中的应用的主要内容,如果未能解决你的问题,请参考以下文章
git submodule update --init --recursive
git submodule update --init --recursive