Gitのリポジトリがでかくなったときの削減の昔のやり方
方法1
git verify-pack -v .git/objects/pack/pack-*.idx |sort -k 3 -n |tail -100
git rev-list --objects --all | grep xxx
git gc --prune=now --aggressive
http://techracho.bpsinc.jp/baba/2012_05_22/5594
https://git-scm.com/book/ja/v1/Gitの内側-メインテナンスとデータリカバリ
方法2
調べる
git rev-list --all --objects | sed -n $(git rev-list --objects --all | cut -f1 -d' ' | git cat-file --batch-check | grep blob | sort -n -k 3 | tail -n40 | while read hash type size; do
echo -n "-e s/$hash/$size/p ";
done) | sort -n -k1
削除する
git filter-branch -f --index-filter 'git rm --force --cached --ignore-unmatch video/parasite-intro.avi' -- --all
rm -Rf .git/refs/original
rm -Rf .git/logs/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
確認
git count-objects -v
http://stackoverflow.com/questions/1029969/why-is-my-git-repository-so-big
Last updated