所以我在个人服务器上使用git,我有一个旧的仓库,我需要更新。我删除了一堆旧文件并提交并推动了更改。我在我的服务器上使用了一个Web UI(Gitlist)。当我使用这个GUI下载repo作为zip文件时,它的大小正确,大约41MB。但是,当我克隆回购时,由于其中一个./git/objects/pack
文件的大小约为900MB,因此它更接近于一个演出。
当它真的应该小得多时,为什么回购会如此之大?
答案 0 :(得分:5)
推送删除文件的提交并不会使git repo变小。
您需要在git repo的历史记录中删除这些文件,以便缩小它的大小
这通常通过git filter-branch
和git 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下载的HEAD确实较小(您删除了文件) 但完整的历史仍然引用它们。