Git报错解决:remote: error: File:1f6cc8452313 157.10 MB, exceeds 100.00 MB

本文详细介绍了如何处理Git在推送时遇到的文件大小超过限制的问题。首先,通过`git rev-list --objects --all|grep <hash>`找出超大文件,然后在`.gitignore`中忽略该文件夹。接着使用`git filter-branch`命令从历史提交中删除该文件,并在必要时使用`git stash`。最后,重新推送代码并执行垃圾回收命令以释放空间。
摘要由CSDN通过智能技术生成

完整报错

$ git push origin master
Enumerating objects: 25, done.
Counting objects: 100% (25/25), done.
Delta compression using up to 12 threads
Compressing objects: 100% (17/17), done.
Writing objects: 100% (21/21), 114.94 MiB | 1.75 MiB/s, done.
Total 21 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
remote: error: File: e83ee47eb99f353f1aa1c7f554061f6cc8452313 157.10 MB, exceeds 100.00 MB.
remote: Use command below to see the filename:
remote: git rev-list --objects --all | grep e83ee47eb99f353f1aa1c7f554061f6cc8452313
remote: Please remove the file from history and try again. (https://gitee.com/help/articles/4232)
To gitee.com:ccql/dnr-bisher.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'gitee.com:ccql/dnr-bisher.git'

解决措施

step1:查找最大文件

执行如下操作(把那串代码换成你报错中的信息):

$ git rev-list --objects --all | grep e83ee47eb99f353f1aa1c7f554061f6cc8452313

输出为:

e83ee47eb99f353f1aa1c7f554061f6cc8452313 runs/1645887291/summaries/train/events.out.tfevents.1645887292.LAPTOP-OAMPS75M

证明:最大的文件是runs/1645887291/summaries/train/events.out.tfevents.1645887292.LAPTOP-OAMPS75M,大概率就是他导致的报错

step2:修改.gitignore文件

因为最大的文件在runs文件夹下,所以向.gitignore文件中添加(根据个人情况修改,因为你的错因不一定是该文件):

runs/

作用是:在提交文件时忽略runs文件夹下的所有文件。

step3:在提交中删除该文件

git filter-branch --force --index-filter  "git rm --cached --ignore-unmatch runs/1645887291/summaries/train/events.out.tfevents.1645887292.LAPTOP-OAMPS75M"  --prune-empty --tag-name-filter cat -- --all

若改行代码报错:Cannot rewrite branches: You have unstaged changes
解决方案:先执行:git stash,再执行一遍该命令即可。

step4:重新提交

git push origin master

step5:清理垃圾

虽然上面我们已经删除了文件, 但是我们的repo里面仍然保留了这些objects, 等待垃圾回收(GC), 所以我们要用命令彻底清除它, 并收回空间,命令如下:

rm -rf .git/refs/original/
 
git reflog expire --expire=now --all

git gc --prune=now
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaoql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值