前端工程化-Git SubModule在实际开发中的应用

Posted Songlcy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端工程化-Git SubModule在实际开发中的应用相关的知识,希望对你有一定的参考价值。

背景

在前端日常开发中,我们经常Git来做代码版本管理工具,使用方式基本是one To one。即一个项目对应一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,怎么做呢?

方案一般有两种:

  1. 封装成NPM包进行依赖复用

  2. 使用Git子仓库对代码进行依赖复用

在基因宝Genebox小程序业务场景开发中,由于多个小程序中都会涉及支付、地址管理、订单等功能,部分页面是重叠的,开发过程中重叠部分如果开发两套代码会影响开发效率,考量之后决定使用Git子模块的方式进行开发,父级仓库依赖公共的子模块,子模块本身和父级仓库一同进行开发,避免了版本和重复开发的问题。

多个父级仓库都依赖同一个子仓库,但是子仓库自身不单独进行修改,而是跟随父级项目进行更新发布,其他依赖子仓库的项目只负责拉取更新。

什么是Git子仓库?

简单理解, 一个Git仓库下面放了多个其他的Git仓库,其他的Git仓库就是父级仓库的子仓库。

在刚开始使用Git子仓库的时候,很可能会导致使用子仓库出现云里雾里的现象,搞不清楚是父级仓库先提交,还是子仓库先提交,所以我们会先介绍子仓库的两种使用方式,然后携带一些子仓库的Git底层的分析让大家对子仓库有一个更加全面的认识。

Git两种子仓库使用方案

  1. git submodule

  2. git subtree

Git submodule (子模块)

Git子模块允许我们将一个或者多个Git仓库作为另一个Git仓库的子目录,它能让你将另一个仓库克隆到自己

以上是关于前端工程化-Git SubModule在实际开发中的应用的主要内容,如果未能解决你的问题,请参考以下文章

git submodule update --init --recursive

git submodule update --init --recursive

git submodule update --init --recursive

git之git submodule

Git Submodule 使用

移除git submodule并将模块转为普通模块依赖