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

无法将代码推送到GitHub:node_modules文件过大问题求助

解决React项目拆分后GitHub推送失败(大文件超限)问题

问题根源

你遇到的问题核心是git已经追踪了client/node_modules/.cache下的大.pack文件,后续添加的.gitignore只对未被git追踪的文件生效,无法阻止这些已追踪的大文件被推送。新建仓库推送无效是因为本地git仓库的历史记录里已经包含这些文件;Git LFS没用是因为这些缓存文件根本不需要纳入版本控制,完全没必要用LFS存储。

分步解决方案

1. 移除git对node_modules的追踪

执行以下命令,仅从git索引中移除client/node_modules目录(不会删除本地文件):

git rm -r --cached client/node_modules

2. 配置.gitignore彻底忽略无关文件

在项目根目录的.gitignore中添加以下规则,确保所有依赖、缓存文件都不会被git追踪:

# Node.js依赖目录
node_modules/

# React开发缓存
.cache/

3. 提交更改并重新推送

提交更新后的.gitignore和移除追踪的操作:

git add .gitignore
git commit -m "停止追踪node_modules,完善gitignore规则"
git push --set-upstream origin master

4. 若历史记录中已存在大文件(彻底清理)

如果上述步骤仍报错,说明这些大文件已经存在于git历史提交中,需要清理历史:

  • 安装git filter-repo(官方推荐的历史清理工具)
  • 执行命令移除所有历史提交中的client/node_modules目录:
git filter-repo --path client/node_modules --invert-paths
  • 强制推送改写远程历史(注意:若有协作开发者,需提前告知他们同步本地仓库):
git push origin master --force

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:59:55