如何从提交历史中删除错误提交的大文件?在我删除有问题的文件之前,Git 不会再向远程推送任何提交。从那以后,我试图删除它们,但它们存在于以前的提交中。
注意:我不再需要项目中的大文件。
我git push origin my-branch
得到:
remote: warning: File public/images/reserve_assets/myfile.tif is 63.60 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: 0c08ce8916353c82c7328a241a40c8ca
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File public/images/reserve_assets/myotherfile.tif is 107.34 MB; this exceeds GitHub's file size limit of 100.00 MB
然后
! [remote rejected] my-branch -> my-branch (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:RepoOwner/myrepo.git'
我已经尝试git filter-branch --tree-filter 'rm -f myfile.tif' HEAD
过在提交历史中执行重写。它输出
Rewrite 1cd9b031d047d4270ff8b488b3b5e8db2905c687 (87/93) (12 seconds passed, remaining 0 predicted)
但接着说WARNING: Ref 'refs/heads/my-branch' is unchanged
。似乎它正在重写并从历史中删除,但我仍然无法推动。