缩小你的 git 仓库体积

最近做系统拆分,原来有一个业务在其他业务部门的代码仓库内,需要把这个业务从他们代码仓库拆出来。

于是fork过来后,发现这个git仓库体积太大了,足足 1.5G ,明明代码部分其实就到顶也就 9M,只保留我们自己业务部分的代码,其实大小也就只有1.2M。但是历史的提交,都在.git文件夹内,于是就有了这个奇观。

因为当初做 CICD 的时候,用的是一种很奇怪的方式实现的。之前在CD部署的过程,是把npm run build 出来的静态资源文件,再一次提交到了当前仓库内,于是随着公司业务的不断发展,终于变成了今天这个体积。还好,现在有了新的CICD流程,这种不合理的构建流程算是废弃了。但是还有如下这些问题要解决。

  • 给仓库减肥瘦身
  • 同时保留仓库的历史提交记录

先看看瘦身成果:

result

对比瘦身前:

old

起手式

1 2 3 4 mkdir my-mini-vue cd my-mini-vue npm init -y 本地 代码未动,ut先行。 1 npm i -D jest@27.5.1 TSC转译 安装ts 1 npm i -D typescript@4.6.3 安装ts同时也要安装tsc,用其初始化TS配置。 1 npx tsc --init

npm publish的坑

目前工作是在做基础数据的SDK。SDK做为全公司学习数据的基础功能,抽离成公共依赖,发布到公司的npm的私库。

最近更新版本,发现业务加载不到依赖。

破案流程回顾:

如何实现图片加水印

在上传证件照的时候,经常需要给图片加入水印,常见的思路就是利用 canvas 画图,虽然思路是比较简单,但是在引入其他外部UI库的场景下,思路从到实现还是有许多细节坑需要慢慢填。

最近做的项目中就有利用 element-ui 的uploader 来实现图片水印效果。

Whatwg Event Loop 翻译

8.1.4 Event loops 8.1.4.1 Definitions 为了协调事件,用户交互,脚本,渲染,网络等,用户代理必须使用本文所述的事件循环。有两种事件循环:用于浏览上下文(browsing c