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 移除了这个大文件,并且以后也不会再推送它了

相关推荐
tokepson8 小时前
技术 | 在单台电脑上管理多个 GitHub 账户并解决推送问题(测试中)
github·技术·记录
tiantian_cool9 小时前
正确的 .gitignore 配置
前端·github
我狸才不是赔钱货9 小时前
AI大模型“战国策”:主流LLM平台简单介绍
c++·人工智能·程序人生·github·llama
今禾9 小时前
Git完全指南(下篇):Git高级技巧与问题解决
前端·git·github
绝无仅有11 小时前
猿辅导Java面试真实经历与深度总结(二)
后端·面试·github
绝无仅有12 小时前
猿辅导Java面试真实经历与深度总结(一)
后端·面试·github
lichong95119 小时前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++
雲帝20 小时前
github断开Fork关系
github
222you20 小时前
Git仓库推送到GitHub
git·github
你的人类朋友1 天前
hotfix分支的使用
git·gitlab·github