向github中上传文件过大超过50M怎么办

问题:

remote: Resolving deltas: 100% (275/275), done. remote: warning: File webkit-2287/WebCore.dll is 52.79 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: error: Trace: eeb285139127d007e043d25ccbfa53a3fa41dc89b1f9b54437e552379716faa7 remote: error: See https://gh.io/lfs for more information. remote: error: File chromium_headless_shell-1223/chrome-headless-shell-win64/chrome-headless-shell.exe is 192.07 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: File firefox-1522/firefox/xul.dll is 165.92 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: File chromium-1223/chrome-win64/chrome.dll is 269.88 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. To github.com:gototrip1/Automated-resume-submission-Agent.git ! remote rejected master -> master (pre-receive hook declined) error: fai

问题是某个.dll的文件超过了他那个最大文件限制50M,

不安装额外软件(Git LFS) ,只通过修改命令 或者配置来解决这个问题。

报错的核心原因是:你的项目里包含了几个巨大的浏览器内核文件(如 chrome.dll 等),体积超过了 GitHub 的硬性限制(100MB)。

我们要做的就是利用 Git 自带的 .gitignore 功能,把这些"大胖子"文件排除在上传名单之外。

请按照以下步骤操作,这相当于给 Git 下达"黑名单"指令:

1. 创建或编辑 .gitignore 文件

在你的项目根目录(Automated-resume-submission-Agent)下,检查有没有一个叫 .gitignore 的文件。

  • 如果没有 :新建一个文本文件,名字就叫 .gitignore(注意后缀名是空的,不是 .txt)。

  • 如果有:直接用记事本打开它。

2. 写入"黑名单"规则

在文件里写入以下内容,告诉 Git 永远不要追踪这些类型的文件:

复制代码
# 忽略所有 DLL 动态链接库文件(通常是大头)
*.dll
​
# 忽略所有可执行程序文件
*.exe
​
# 如果还有压缩包也忽略掉
*.zip
*.rar
​
# 额外建议:忽略整个浏览器缓存或依赖文件夹(如果存在)
node_modules/
.cache/

写完后保存并关闭。

3. 清除 Git 的"待办清单"(关键步骤)

这一步非常重要!因为 Git 之前已经记住了这些大文件,现在虽然你写了 .gitignore,但它脑子里的清单还没更新。请在 Git Bash 里依次输入这三行命令:

复制代码
# ① 把刚才写的 .gitignore 文件先加进去
git add .gitignore
​
# ② 关键命令:清除所有已缓存的文件(让 Git “忘掉”之前记录的大文件)
git rm -r --cached .
​
# ③ 重新把所有文件(除了被忽略的)加进待办清单
git add .

4. 重新提交并推送

复制代码
# 提交更改
git commit -m "fix: ignore large binary files"
​
# 推送到 GitHub
git push origin master

💡 为什么这样做有效?

  1. .gitignore :相当于给 Git 一张"黑名单",告诉它:"以后看到 .dll.exe 结尾的文件,直接无视,别管它们。"

  2. git rm --cached . :这是最关键的一步。它会把 Git 暂存区里所有文件清空(但不会 删除你电脑上真实的文件),然后 git add . 会重新扫描文件夹。这次扫描会严格遵守 .gitignore 的规则,从而把那些几百兆的大文件剔除出去。

相关推荐
ylscode14 小时前
OpenSSH 10.4 正式发布:后量子加密落地,多项高危漏洞得到修复
网络·安全·网络安全
DianSan_ERP15 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
阿成学长_Cain15 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
青瓦梦滋16 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
驭渊的小故事19 小时前
网络原理01(两千字解析)
网络
码流怪侠19 小时前
【GitHub】Strix 深度解析:开源 AI 渗透测试工具的架构、原理与实战
github·agent·ai编程
KaMeidebaby21 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
OpenTiny社区1 天前
Coding Agent 到底是怎么工作的,它又为什么会在复杂代码库里失真?
前端·github·agent
阿成学长_Cain1 天前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
skd89991 天前
万能查任意网络设备IP工具
服务器·网络·tcp/ip