文件大小超过错误。如何从 git 中删除文件?

File size exceed error. How to remove the file from git?

我将我的项目推送到 Github 时收到以下错误消息。 “文件 CoreMLObjectRecognition/coreMLModels/YOLOv3.mlmodel 为 236.88 MB;这超过了 GitHub 的文件大小限制 100.00 MB”

然后我意识到文件太大了,反正我不再需要这个文件,所以我做了以下操作。

  1. 已从项目中删除文件
  2. 将目录(CoreMLObjectRecognition/coreMLModels/,“YOLOv3.mlmodel”在目录中,但已被删除。)添加到 .git忽略,因为该目录将包含大文件。
  3. "git rm -r --cached 。"和“git 添加。”反映 .git忽略
  4. "git ls-files" 检查哪些文件在 git 的控制之下。 “YOLOv3.mlmodel”不在列表中。
  5. "git commit" 但收到消息说:"在主分支上 您的分支领先 'origin/main' 12 次提交。 (使用“git push”来发布你的本地提交) 没有什么可提交的,工作树干净
  6. "git push" 将更改推送到远程存储库。

然后我仍然得到同样的错误: “文件 CoreMLObjectRecognition/coreMLModels/YOLOv3.mlmodel 为 236.88 MB;这超过了 GitHub 的文件大小限制 100.00 MB”

我做错了什么? 有人可以帮助我吗?

以防旅游文件已经在过去的提交中被跟踪,尝试过滤它。

  • install git filter-repo (python-based)
  • 删除历史记录中的任何大文件:例如 git filter-repo --strip-blobs-bigger-than 2M。 (content-based filtering)
  • 强制推送(git push --mirror:确保通知该存储库上的任何协作者)