我找到了How to shrink a Git repo的答案,我的问题是什么时候到了正确的时间点。以下是可能有助于理解的背景:
什么时候缩小存储库?
答案 0 :(得分:3)
为了进行比较:Linux repository,这是我所知道的最大的git存储库,拥有近470k的提交和超过4k的贡献者。结账时花了1.15 GB。在git gc --aggressive
之后,其大小降至858 MB。
您的存储库中的文件肯定不属于那里。我主要考虑各种二进制文件。如果占用太多空间,这些应该存储在别处。
如果您碰巧存储已编译的文件,则应将其从存储库中删除,并将相应的模式添加到.gitignore
文件中。根据经验,不能提交可以从存储库中的其他文件生成并占用空间或是二进制文件的文件。
我刚找到这个工具:BFG Repo-cleaner。它是一个帮助工具,可以让您通过删除有问题的文件来重写历史记录。您可以使用它删除不属于那里的文件 请注意,重写历史意味着大多数提交将获得不同的SHA-1哈希。因此,团队中的每个人都必须同时切换存储库:您生成新的存储库,然后每个人都必须放弃旧的存储库并从现在开始使用新的存储库。
但是:克隆存储库首先不应该成为问题。您应该只克隆一次存储库。如果由于某种原因需要第二个存储库,请从第一个存储库中克隆它,或者只复制它的.git
目录。
同样,远程人员只能克隆一次存储库(因此您只需在德国和中国之间传输一次4.5 GB)。然后,中国人可以在他们自己之间进行本地克隆,之后只需切换上游遥控器。
总之,我不知道清理存储库是否值得,因为你不应该经常克隆它。