Git存储库太大了

Bry*_*yce 9 git github ruby-on-rails-3 git-rewrite-history

我有一个项目,其中包含大约12MB的代码和资产.我一直在使用Git跟踪它,只是注意到我的.git文件夹现在刚刚超过1.83GB.它由几个小文件组成,然后只有一个包文件,占文件夹的1.82GB左右.

我已经运行git gc --aggressivegit gc --prune.它的大小相同.我试过了:

git reflog expire --expire=now --all
git repack -ad  # Remove dangling objects from packfiles
git prune       # Remove dangling loose objects
Run Code Online (Sandbox Code Playgroud)

但它仍然是相同的大小.我甚至克隆了它(曾经在本地进行了强制重新包装,并再次从Git获得),但每个仍然是1.83GB.这是正常的吗?有没有办法减少它的大小,或者我只是开始一个新的仓库,复制代码,并接受我的过去的提交将会消失?

Bry*_*yce 10

好的,这些评论是一个很好的开始,可以了解问题的根本原因.我不太了解这个git filter-branch命令,所以我对使用它有点警惕.

我遇到了这个工具:http://rtyley.github.com/bfg-repo-cleaner/

它创造了奇迹.我的回购现在不到10MB.

  • 我是BFG Repo-Cleaner的作者,你的回答让我非常开心. (7认同)
  • 谢谢!说真的,这个工具比从网络上复制和粘贴随机的 git hack 简单得多。 (2认同)