chenjiandongx's blog

README ME.

Git 彻底删除大文件

chenjiandongx's Avatar 2019-09-19 学习笔记

pyecharts 的 git history 中存在着很多以前文档需要的图片,导致 pyecharts 整个 git 仓库体积达到 90M+,现在需要把这些图片彻底从 .git 中删除,整个过程会 overwrite 所有跟图片有关的 commit。

1
2
3
4
5
6
7
8
$ git count-objects -v
$ git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5
$ git rev-list --objects --all | grep <commit-id>
$ git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch file_you_want_to_delete' --prune-empty --tag-name-filter cat -- --all
$ rm -rf .git/refs/original/
$ git reflog expire --expire=now --all
$ git gc --prune=now
$ git gc --aggressive --prune=now
本文最后更新于 天前,文中所描述的信息可能已发生改变