Github remote: error: File .vscode/.browse.c_cpp.db exceeds GitHub's file size of 100.00 MB问题的解决

今天在往Github推送项目的时候突然提示:

remote: error: File .vscode/.browse.c_cpp.db is 109.31 MB; this exceeds GitHub's file size limit of 100.00 MB

我先是在某一个分支branchA修改了.gitignore文件,忽略.vscode目录并顺便忽略build目录提交一个commit。然后运行git checkout brachA .gitignore && git rm --cached -rf ./build && git rm --cached -rf .vscode && git add . && git commit -m"Update .gitignore"
然后再次提交还是发现有问题,这个文件在历史的commit里面还是存在。
所以我们需要解决的问题是:在所有提交的commit历史中移除某个文件。
以下这个命令解决了我的问题,此命令把.vscode/.browse.c_cpp.db文件从所有分支的所有提交中删除:
git filter-branch --tree-filter 'rm -f .vscode/.browse.c_cpp.db' -- --all
如果你仅仅运行了上面那个命令,记得还是要更改.gitignore文件,忽略.vscode目录和build目录然后再提交。

如果那个大文件是你的项目的一部分,那么也可以通过安装git LFS来支持大文件的提交。参考下文即可:
通过Git LFS在GitHub上传超过100M的文件 - weixin_34205076的博客 - CSDN博客

参考文献:

  1. git - Remove File from all Commits - Stack Overflow
  2. git - How do you fix a bad merge, and replay your good commits onto a fixed merge? - Stack Overflow
  3. Remove files from Git commit - Stack Overflow
  4. git核武器解决超大文件修改提交被拒 - weixin_34214500的博客 - CSDN博客
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值