我的存储库在Bitbucket中达到2GB大小限制时遇到此问题。在给定的时间里,我在仓库中有几个分支,每个分支大约260MB(由于我在仓库中保留了一些图像,以便与团队共享)。鉴于此文件大小,对于8个分支以下的任何文件,我都应该远低于2GB的限制。但是,我经常收到警告,有时会因达到限制而被锁定,必须删除一些分支。
我注意到根目录或项目中的隐藏.git
目录非常大(〜3GB)。如何在遥控器中处理此目录?显然,它没有上传。是否在遥控器中重新创建?难道就是为什么遥控器中的仓库规模如此之大?
我尝试运行git gc
,将.git
目录的大小减小到约2.3GB,但这不能解决问题,因为(1)不够,(2)在我的计算机上是本地的。有没有办法在远程git gc
中使用
答案 0 :(得分:1)
要回答您的最后一个特定问题,您似乎可以要求Bitbucket支持为您执行GC:https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html但是,只有在解决了基本问题之后才这样做,清理存储库,只需要最后一步。
分支的数量本身与存储库的大小无关。分支只是Git中的指针,每个分支的开销恰好是41个字节。 https://git-scm.com/book/en/v1/Git-Branching-What-a-Branch-Is重要的是您在历史记录中对大型二进制文件进行了多少次修订。
从实际的角度来看,您似乎必须从存储库和/或存储库历史记录中删除大型二进制文件。您可以在这里很好地了解自己的选择:https://help.github.com/en/articles/removing-sensitive-data-from-a-repository。当然,首先要完全备份存储库,并仔细检查历史记录重写的所有含义,这一点很重要。完成此操作后,您可以重新评估选项(git-lfs,另一个git托管,不要在仓库中保留大型二进制文件)。