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