一、错误
remote: Error: Deny by project hooks setting ‘default’: size of the file ‘scientific_calculator’, is 164 MiB, which has exceeded the limited size (100 MiB) in commit ‘4c91b7e3a04b8034892414d649860bf12416b614’.
二、原因
本地提交过大文件,git push到远程仓库时无法提交大文件,因为远程仓库有单个文件大小限制。
三、解决方法
需要修改提交历史,删除已提交到本地仓库的大文件的提交记录。
从提交历史中删除指定文件的命令为:
git filter-branch --tree-filter 'rm -f文件名' HEAD
如下,删除大文件
$ git filter-branch --tree-filter 'rm -f "Electron/pdf/677969 xxxx xxx.pdf"' HEAD
Rewrite d1244f8fbc1f08b473bd498c023b09bd8ac3246b (12/12) (156 seconds passed, remaining 0 predicted)
Ref 'refs/heads/master' was rewritten
执行删除成功会返回Ref 'refs/heads/master' was rewritten
提示,如果返回unchanged
则表示没有任何更改。
如果文件路径包含空格需要用引号将删除文件路径包含起来。
如果要删除文件夹,要加-r选项,比如:
git filter-branch --tree-filter 'rm -rf target' HEAD