git提交发生 ! [remote rejected] dev -> dev (pre-receive hook declined)的解决

提交个人测试项目时,需要参考一些电子书进行测试,避免问题直接上传到项目中提交了,于是就发生了如图报错

 

 看第一句Error显示,探测到大文件,第四句指出大文件名以及占存,显示项目不能超过100M

所以需要先移除该文件。

注意,直接删除重新提交,是不行的,因为之前这次报错前两步,git add命令已经将大文件提交存储到本地仓库缓存,直接删除文件,本地缓存文件并没有删除,所以需要执行一下git语句:

$ git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 《Vue企业开发实战》_肖睿等_2018-12-01.pdf' --prune-empty --tag-name-filter cat -- --all  

 注意:蓝色部分即为报错的第四局提示的文件名,直接复制即可。

 

 然后,再次提交,执行:

$ git push origin dev --force 

 

 此外还需要删除本地缓存对象,避免出错;依次执行:

$ rm -rf .git/refs/original/

$ git reflog expire --expire=now --all

$ git gc --prune=now

 

 最后,查看远程github仓库或者提交历史记录,确认OK。

 

备注:

1.更多技术文章,参考:https://www.7017online.xyz

2.参考来源:https://www.cnblogs.com/xym4869/p/11947181.html

posted @ 2020-12-03 16:18  coderjim  阅读(14272)  评论(0编辑  收藏  举报

更多知识请点击——

www.7017online.xyz