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

GitHub推送代码因node_modules超大小限制被拒问题咨询

问题根因

删本地node_modules、加.gitignore没用的核心原因是:体积超标的大文件早就在之前的Git提交记录里存着了。.gitignore只对还没被Git追踪的文件生效,删除工作区文件也修改不了已经生成的提交历史,GitHub推送时会扫描所有待上传提交内的全部文件,只要历史里存在超过100MB的文件就会直接拦截。

操作步骤
  • 先打开项目根目录的.gitignore文件,确认里面已经添加node_modules/这行忽略规则,保存后把这个规则变更提交到本地。
  • 清除Git缓存里被误追踪的node_modules文件,在项目根目录的终端执行命令:
git rm -r --cached node_modules
  • 如果大文件是最近一次提交带进去的,直接执行以下命令修正最近一次提交即可:
git commit --amend -CHEAD
  • 如果执行完上述操作推送仍报相同错误,说明大文件存在于更早的提交历史中,执行以下命令遍历清除所有历史提交里的node_modules记录:
git filter-branch --force --index-filter \
"git rm -rf --cached --ignore-unmatch node_modules/" \
--prune-empty --tag-name-filter cat -- --all
  • 所有历史记录清理完成后,执行强制推送命令即可完成代码上传:
git push origin main --force

注意:强制推送会覆盖远程对应分支的现有提交记录,多人协作场景下请提前和其他协作者同步操作,避免覆盖他人代码造成版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:51:06