GIT错误 - 这超出了GitHubs文件大小限制 - 但该文件已被删除

时间:2017-06-03 12:24:57

标签: git github

我尝试发布一个超过100MB的文件

然后我查了一下并意识到GitHub有一个限制。

虽然看起来我可以更改使用更大的文件Git lfs - "this exceeds GitHub's file size limit of 100.00 MB",这不是我的目标。相反,我编辑了文件,它现在大约80MB

问题是,当我尝试git pull(或使用网络应用程序同步)时,我仍然会被告知这个文件太大了......

我只能猜测git已经处理了不再存在的内容,但我不知道如何将其从尝试上传此文件中删除。

这是我的努力,也显示了失败(第一行)。这是从Git Shell

复制的
remote: error: File Photoshop/Originals/homePage.psd is 119.97 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/company/site.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/company/site.git'
G:\websites\GitHub\site\Website\site[master ↑3 +0 ~1 -0 !]> git rm --cached Photoshop/Originals/homePage.psd
fatal: pathspec 'Photoshop/Originals/homePage.psd' did not match any files
G:\websites\GitHub\site\Website\site [master ↑3 +0 ~1 -0 !]> git rm Photoshop/Originals/homePage.psd
fatal: pathspec 'Photoshop/Originals/homePage.psd' did not match any files
G:\websites\GitHub\site\Website\site [master ↑3 +0 ~1 -0 !]>

1 个答案:

答案 0 :(得分:1)

尝试并使用BFG Repo-Cleaner,但请确保您当前工作树的进度没有变化(先添加并提交)

cd /path/to/your/local/repo
java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git
git reflog expire --expire=now --all && git gc --prune=now --aggressive

然后推送新的历史记录(强制推送覆盖:确保您是唯一一个处理该回购的人,或者确实告知您的重写)

git push --force