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

相关推荐
京东零售技术11 小时前
京东正式开源基于国产芯片自研的xLLM大模型推理引擎
github
寻月隐君12 小时前
Rust 泛型编程基石:AsRef 和 AsMut 的核心作用与实战应用
后端·github
ayyyy____12 小时前
把项目通过pycharm上传到github(两种方式)
ide·pycharm·github
专注VB编程开发20年13 小时前
vb.net编写DDE(Dynamic Data Exchange)服务器
运维·服务器·github·vb.net·dde
qq_3775727713 小时前
github repository 一个文件忘记添加到 .gitignore
github
方圆想当图灵13 小时前
深入浅出 gRPC
java·后端·github
chaofan98014 小时前
如何用 Claude Code 搭建安全、可测、可自动化的 GitHub CI 流程?
运维·人工智能·ci/cd·ai·自动化·github·claude
ITsheng_ge15 小时前
GitHub Pages 部署静态网站流程、常见问题以及解决方案
前端·github·持续部署
小Lu的开源日常15 小时前
如何使用 GitHub Action 发布 Docker 镜像
docker·开源·github
没有鸡汤吃不下饭19 小时前
Git将某个分支合并到开发(dev)、测试(test)后突然想撤销该分支的功能,怎么处理?
前端·git·github