问题起因是本地有一个项目,刚使用git版本管理的时候有几次提交推送到了github,后面就一直在本地做修改跟提交,等到有一天想推送到github的时候遇到了这个问题:

原因是github会限制100MB以上的文件上传,除非使用Git Large File Storage.

但是我不想用Git Large File Storage,而且这几个超了的文件也不是重要文件,可以删掉,但是这些文件已经在本地提交过了,所以需要在所有提交历史中批量删除这些过大的文件.所以,找到了一个处理这种问题的工具---BFG,这是一个替代git-filter-branch方式来删除历史提交中的文件的软件.

官网是这个:https://rtyley.github.io/bfg-repo-cleaner/

把官网上提供下载的jar文件下载到本地的仓库目录,然后在仓库目录打开cmd.

输入如下命令(意为删除50MB以上的文件,注意bfg.jar是刚刚下载下来的jar的名字,正常下载下来可能还会带版本号,自己改一下就行):

 java -jar bfg.jar --strip-blobs-bigger-than 50M

然后等他跑完就行.