Angular 12升级至13后缓存文件过大 无法推送至GitHub问题问询
你遇到的推送报错核心原因是 .angular/cache 下的大文件已经被提交到了本地提交历史中,即使后续添加了gitignore规则、清理了暂存区,历史记录中的大文件仍然会被GitHub的体积检测拦截。你问的angular.json缓存体积控制配置、以及修复推送问题的方案如下:
一、angular.json 缓存体积控制配置
你可以在项目根目录的 angular.json 中,找到根级的 cli 配置节点,添加缓存大小限制规则:
{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "cli": { "cache": { "enabled": true, "maxSize": 52428800, "path": ".angular/cache" } }, // 其余原有配置保持不变 }
参数说明:
maxSize单位为字节,上述示例配置为50MB,Angular CLI会自动清理超过体积上限的旧缓存文件,避免缓存文件无限膨胀。
二、修复当前推送失败的问题
你之前执行的git rm -rf --cached命令只能清理暂存区的文件,无法删除已经提交到本地历史中的大缓存文件,需要先清理提交历史:
- 先安装git-filter-repo工具(Git官方推荐的历史记录清理工具)
- 执行命令清理所有提交历史中的缓存文件:
git filter-repo --path .angular/cache --invert-paths - 确认
.gitignore文件中已添加/.angular/cache规则,避免后续再提交缓存文件 - 重新执行推送命令即可。
内容的提问来源于stack exchange,提问作者S. Taylor
相关产品推荐
相关产品推荐

