小别致真东西
文章77
标签31
分类26
git Submodule

git Submodule

在公司的项目开发过程中,我们在项目开始之前根据设计搞开发了一个单独的UI组件库 Components,在正式的项目里面前中期都是通过将我们的组件库通过npm包管理的方式在项目里面去引用,再import需要的组件;在一次发版后线上出现一个较为严重的问题,在线下复现查找问题 debugger 的时候, 调试到组件库的代码时,由于是经过打包的代码十分难以调试基本上全是 n啊 v啊,一堆看不出语义的变量,以至于没有办法快速定位是业务代码还是组件库里的逻辑有问题(尽管后面还是定位到了问题出现在业务代码里面。。)。

这种情况下,我们决定把组件库的代码引入到项目里面,通过子模块的实现引入进行管理,实际项目也没有通过npm包的形式引用组件库,直接放在了本地通过 Next 提供的 Dynamic 模块来进行组件的懒加载(暂时也没有太多的替代方案)。主要涉及到 git subModule 相关的操作。

子模块的管理和使用

实际上就是在一个git仓库下面将另一个 git 项目设置为项目的子模块(submodule)。这个子模块它是一个第三方开发的Git 库或者是你独立开发;既可以达到使用子模块中的代码的目的,两个项目又具有相对独立的提交。

通过 git submodule 可以查看当前子模块的信息如下:
子模块信息
包含子模块当前指向的commit_id 名称以及版本等其他信息

两个项目各自独立管理、在子模块有修改后更新子模块的指向

本文作者:小别致真东西
本文链接:https://heiliu.github.io/2019/12/11/gitSubmodule/
true