公司的项目中使用sqlite作为数据库,尽管每次git push之前都会先DELETE所有表中的内容,但文件还是会越来越大,最后发现在完成所有DELETE之后,还需要VACUUM一遍,这样就能让文件变成正常的大小。
另一个问题是,尽管当前的文件变小了,但git记录中还是会保留之前的大文件,为了节省空间,可以先备份该文件,再使用如下命令来删除历史commit中的该文件:
git filter-branch --force --index-filter "git rm -rf --cached --ignore-unmatch path/to/db.sqlite" --prune-empty --tag-name-filter cat -- --all
最后把文件放回去再次commit,此时这个文件就只有一个commit记录了。
git 的那个技巧蛮实用的,收藏了