You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git LFS推送Angular项目因大文件超限失败求助

解决Git LFS追踪大文件仍推送失败的问题

核心原因:追踪规则对已提交的历史文件无效

Git LFS只作用于还没被提交到Git历史的文件,那些已经被你commit过的.pack大文件,早就存在于Git的历史记录里了,光加追踪规则根本管不到它们,这才是问题所在——不是你的追踪语法错了。

具体解决步骤

1. 确认LFS追踪规则是否生效

先执行命令查看当前的LFS追踪列表,验证规则是否正确添加:

git lfs track

只要输出里能看到*.pack或者目标目录的追踪规则,就说明语法没问题。

2. 清理Git历史中的大文件

用git filter-repo工具彻底移除历史里的缓存文件(这个工具比旧的git filter-branch更安全稳定):

git filter-repo --path angular-project/src/.angular/cache/14.1.2/angular-webpack --invert-paths

这个命令会删除所有涉及该缓存目录的历史提交记录。

3. 重新配置LFS并提交

先确保追踪规则正确(直接追踪所有.pack文件最稳妥):

git lfs track "*.pack"

然后把.gitattributes文件提交到仓库:

git add .gitattributes
git commit -m "Set up Git LFS for .pack files"

4. 强制推送更新后的仓库

因为修改了Git历史,需要强制覆盖远程仓库:

git push origin main --force

⚠️ 注意:如果有其他人在协作这个仓库,执行前要提前沟通,避免覆盖其他人的修改。

长期解决方案:忽略缓存目录

.angular/cache是本地构建生成的缓存文件,完全没必要提交到远程仓库,直接在项目根目录的.gitignore中添加一行:

angular-project/src/.angular/cache/

这样以后就不会再把这类缓存文件误提交,从根源避免大文件问题。

内容的提问来源于stack exchange,提问作者Peter Moore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:25:41