1

我遇到了这个问题,我的存储库达到了 Bitbucket 中的 2GB 大小限制。在给定的时间,我在 repo 中有几个分支,每个大约 260MB(由于我在 repo 中保留了一些图像,以便更容易与团队共享)。鉴于这个文件大小,对于 8 个分支以下的任何内容,我应该远低于 2GB 限制。但是,我经常收到警告,有时由于达到限制而被锁定,不得不删除一些分支。

我注意到.git根目录或项目中的隐藏目录非常大(~3GB)。这个目录在远程是如何处理的?显然,它没有上传。它是在遥控器中重新创建的吗?这可能是遥控器中的 repo 大小如此之大的原因吗?

我尝试运行git gc将目录的大小减小.git到大约 2.3GB,但这并没有解决问题,因为(1)它还不够,(2)它在我的机器上是本地的。有没有办法git gc在远程?

4

1 回答 1

1
  • 要回答您的最后一个具体问题,您似乎可以要求 Bitbucket 支持为您执行 GC:https ://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html但是,它可能只有意义当你解决了根本问题,清理了 repo 并且只需要这最后一步时,请执行此操作。

  • 分支数量本身与存储库大小无关。分支只是 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 。当然,首先完全备份 repo 很重要,并仔细查看历史重写的所有含义。完成此操作后,您可以重新评估您的选项(git-lfs,另一个 git 托管,不要在 repo 中保留大型二进制文件)。

于 2019-10-02T21:07:09.103 回答