今天在往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博客
参考文献:

7245

被折叠的 条评论
为什么被折叠?



