我有一个相对较小的git存储库,其中是一个标准的wordpress安装。 但另外我意外地有一个"概念"存储库中的文件夹,里面有很多较大的psd文件。
现在的问题是,在50次提交之后,git创建了一个" pack"文件,为1,3 GB。太大了!
为了缩小包文件夹,我试图删除我的"概念"文件夹通过:
git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch DIRECTORY/' --prune-empty --tag-name-filter cat -- --all
之后
git gc --aggressive --prune
执行这些命令后,我的概念"文件夹已从文件系统和所有提交中删除。宾果!
但是包文件仍然是1,3 GB
我搜索了stackoverflow,但我找到的只是我上面使用的命令。 也许任何人都有任何关于如何缩小包文件夹的信息。我认为它的大小为1,3 GB来自于"概念"文件夹及其在55次提交期间的提交。
祝你好运, 安德烈亚斯
答案 0 :(得分:6)
我之前提到过git gc
alone can actually increase the size of the repo)。
我列出的命令是:
# remove the temporary history git-filter-branch otherwise leaves behind for a long time
rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune=now
如果这不起作用,请查看BFG tool。
你会在" How to remove unreferenced blobs from my git repo"
中找到更完整的gcThis article建议采用类似的方法:
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d
git gc --aggressive --prune=now