github上文件过大无法推送问题

GitHub 对文件大小有限制,超过 100 MB 的文件无法直接推送到仓库中。

解决思路:

  • 使用 Git Large File Storage (Git LFS) 来管理大文件
  • 不上传对应的大文件

使用Git LFS:

1. 安装 Git LFS

首先,你需要安装 Git LFS。可以按照以下步骤操作:
Windows:

下载并安装 Git LFS。

安装完成后,在终端中执行以下命令来初始化 Git LFS:

bash 复制代码
git lfs install

2. 跟踪大文件

接下来,告诉 Git LFS 跟踪 .pth 文件类型:

bash 复制代码
git lfs track "*.pth"

这会创建一个 .gitattributes 文件来标记需要使用 Git LFS 存储的文件类型。
3. 添加和提交文件

将 .gitattributes 文件添加到 Git 并提交:

bash 复制代码
git add .gitattributes
git add AlexNet/best_model.pth
git commit -m "Track .pth files with Git LFS" 

4. 推送到远程仓库

最后,再次推送代码到 GitHub:

bash 复制代码
git push -u origin main

通过这些步骤,你的 .pth 文件将被 Git LFS 管理,并且可以成功推送到 GitHub 仓库。如果你之前尝试上传的文件已经被推送过一次,且由于文件过大被拒绝,可以执行以下命令清理历史记录:

bash 复制代码
git lfs push --all origin main

这样就能够确保大文件通过 Git LFS 正常上传到 GitHub。


不上传对应的大文件:

1. 从 Git 历史中移除大文件

你可以使用 git rm 命令从当前版本和历史记录中删除该文件:

bash 复制代码
git rm --cached AlexNet/best_model.pth

这将从 Git 索引中移除该文件,但保留文件在本地磁盘上的副本。
2. 提交更改

然后,你需要提交该更改:

bash 复制代码
git commit -m "Remove best_model.pth from Git"

3. 推送更改

现在,你可以推送这些更改到 GitHub:

bash 复制代码
git push origin main

4. 忽略该文件

为了防止将来再次不小心将该文件推送到 GitHub,你可以将该文件添加到 .gitignore 中。这样,Git 就会忽略这个文件。打开或创建 .gitignore 文件,并添加以下内容:

bash 复制代码
AlexNet/best_model.pth

然后提交 .gitignore 文件:

bash 复制代码
git add .gitignore
git commit -m "Add best_model.pth to .gitignore"
git push origin main

这样,你就成功地从 GitHub 移除了这个大文件,并且以后也不会再推送它了

相关推荐
绝无仅有2 小时前
Redis 服务挂掉排查与解决
后端·面试·github
飞询2 小时前
Window 部署 coze-stdio(coze 开发平台)
docker·github·coze
kymjs张涛2 小时前
零一开源|前沿技术周刊 #9
前端框架·开源·github
HelloGitHub2 小时前
《HelloGitHub》第 112 期
开源·github
程序视点3 小时前
Umi-OCR完全指南:开源离线OCR识别软件下载安装使用教程|支持批量PDF/二维码识别
前端·后端·github
草梅友仁12 小时前
草梅 Auth 1.1.0 发布与最新动态 | 2025 年第 30 周草梅周报
开源·github·ai编程
mortimer13 小时前
安装NVIDIA Parakeet时,我遇到的两个Pip“小插曲”
python·github
心之语歌16 小时前
Spring AI MCP 客户端
人工智能·spring·github
yeshan33318 小时前
使用 Claude Code 的自定义 Sub Agent 完善博文写作体验
ai·github·agent·claudecode