Git存储库大小比它应该大

时间:2014-07-02 19:32:36

标签: git

所以我在个人服务器上使用git,我有一个旧的仓库,我需要更新。我删除了一堆旧文件并提交并推动了更改。我在我的服务器上使用了一个Web UI(Gitlist)。当我使用这个GUI下载repo作为zip文件时,它的大小正确,大约41MB。但是,当我克隆回购时,由于其中一个./git/objects/pack文件的大小约为900MB,因此它更接近于一个演出。

当它真的应该小得多时,为什么回购会如此之大?

1 个答案:

答案 0 :(得分:5)

推送删除文件的提交并不会使git repo变小。

您需要在git repo的历史记录中删除这些文件,以便缩小它的大小 这通常通过git filter-branchgit gc --aggressive --prune=now的组合来完成:请参阅" Reduce git repository size"。
(别忘了:git gc alone can actually increase the size of the repo!

要删除大文件,请tool BFG can help too

简而言之,不要混淆:

  • 一个zip图片(代表回购的一个版本)
  • 完整仓库(代表所有提交)

您作为zip下载的HEAD确实较小(您删除了文件) 但完整的历史仍然引用它们。

相关问题