我们处于绝对不知道如何解决的位置。 问题是我们有2.56 GiB repo-size。主要问题是克隆存储库时git-server的RAM使用情况:服务器将打包存储库,一段时间后,连接被删除(或者其他事情会阻止克隆!)。服务器上的其他服务(另一个git-repo和jenkins)将进行交换,不再可用。
以下是有关我们的回购的一些信息:
大框架更新2-3次。所以我们认为(我们并不是真正的g g :) :)历史包含了大型框架的旧版本。
我们看一下git repack和git filter-branch。但展位,当我们正确理解时,不能解决我们的问题。
我们无法移除我们的一个大框架,因为我们需要它来开发。当我们从历史记录中删除它时,我们无法再结帐到旧版本。
我们试图将大框架转移到单独的git回购中。但是那个问题并没有解决问题,因为我们的历史已经非常重要了。
那么我们怎样才能在不丢失历史的情况下解决问题呢?!
{1}
count: 829
size: 4.82 MiB
in-pack: 23365
packs: 2
size-pack: 2.56 GiB
prune-packable: 13
garbage: 1
size-garbage: 6.00 KiB
*** ***编辑
当我说:
时,这是我的输出git clone https://git.repo.url.git
remote: Counting objects: 23942, done.
remote: warning: suboptimal pack - out of memory
remote: fatal: Out of memory, malloc failed
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header
当我制作git init
并设置此配置时(because of this commend):
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
packedGitLimit = 128m
packedGitWindowSize = 128m
[pack]
deltaCacheSize = 128m
packSizeLimit = 128m
windowMemory = 128m
我的输出是:
remote: Counting objects: 23942, done.
remote: warning: suboptimal pack - out of memory