神策原来的前端项目都是多模块分repo的代码组织方式,导致开发比较繁琐,大量的时间花在了切分支,提mr,打tag,改版本号这些操作上,还时时容易出错,于是最近利用git submodule 把SPS的多个模块聚合在一起开发,并加入了一些批量脚本尽可能让大家能感受到和 monorepo 一样的开发体验。
2024年04月26日
神策原来的前端项目都是多模块分repo的代码组织方式,导致开发比较繁琐,大量的时间花在了切分支,提mr,打tag,改版本号这些操作上,还时时容易出错,于是最近利用git submodule 把SPS的多个模块聚合在一起开发,并加入了一些批量脚本尽可能让大家能感受到和 monorepo 一样的开发体验。
2024年04月26日
概述
什么是子模块
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
我们举一个例子。 假设你正在开发一个网站然后创建了 Atom 订阅。 你决定使用一个库,而不是写自己的 Atom 生成代码。 你可能不得不通过 CPAN 安装或 Ruby gem 来包含共享库中的代码,或者将源代码直接拷贝到自己的项目中。 如果将这个库包含进来,那么无论用何种方式都很难定制它,部署则更加困难,因为你必须确保每一个客户端都包含该库。 如果将代码复制到自己的项目中,那么你做的任何自定义修改都会使合并上游的改动变得困难。