前端项目中遇到问题, CDN 上传很慢, 刚开始超过了一小时,
(从今天上传速度看, 超过一小时很大一部分原因是网络..)
后来考虑有 BootStrap 中静态文件未必使用, 查找出来进行了删除.

我们的重构已经将文件名替换为 md5 前缀了, 期待文件内容不变不发生上传的,
但操作过程中我注意到了上传依然存在, 全部文件都重新上传了
于是怀疑, 因为所有静态文件都会被 Grunt 重新编译生成, 时间戳改变了
就提了这个问题问是否是时间戳:

七牛是怎样检测文件更新的?

结果七牛的确是通过时间戳来处理的(估计是 modified time 的时间)
于是问题就来了, 怎么才能避免重复的上传么?

上面的问题的回复评论里给了个方案, 用另外一个 Git 仓库来处理,
从 Grunt 生成的相同文件, 时间戳会改变, 但是从另一个 Git 仓库 pull 是不会改的.
经过实际测试, 这个方案至少能行得通

但是也要注意几点:

  • 这个镜像的仓库里不能进行分支切换, 否则时间戳很可能改变
  • 编译生成的代码需要放进 Git 仓库管理, 会产生很多额外的 diff

考虑到目前没有完善的方案, 暂时会对这个额外的仓库进行维护.


题叶
17.3k 声望2.6k 粉丝

Calcit 语言作者