Git推送失败:Flutter项目大文件超出GitHub限制
解决Flutter分支推送GitHub因大文件失败的问题
问题出在这些大文件已经被Git追踪过了,.gitignore只对从未被Git记录过的文件生效——所以你加了ignore、执行flutter clean都没用,Git还记着这些文件要推送。
按以下步骤操作:
先确认这些文件是否还在Git的追踪列表里,执行:
git ls-files | grep build如果输出里能看到那两个大文件,就证明它们还被Git盯着。
把这些文件从Git的追踪缓存里移除(本地文件会保留,只是Git不再管它们):
要是只想移除那两个文件,执行:git rm --cached build/kernel_blob.bin git rm --cached build/app-debug.apk嫌麻烦的话,直接移除整个build目录的追踪:
git rm --cached -r build/提交这个修改:
git commit -m "不再追踪build目录下的文件"最后重新推送分支:
git push origin BensVersion
如果还是失败,说明这些大文件已经存在于之前的提交历史里了,那得清理历史记录:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch build/kernel_blob.bin build/app-debug.apk' --prune-empty --tag-name-filter cat -- --all
执行完这个命令后,强制推送:
git push origin BensVersion --force
注意:强制推送会覆盖远程分支的历史,要是有其他人在这个分支开发,得提前沟通好。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

