【发布时间】:2019-08-20 05:54:39
【问题描述】:
在我运行git gc 之前,我有几千个松散的对象:
$ git count-objects -v
count: 3706
size: 17164
in-pack: 147149
packs: 9
size-pack: 46619
prune-packable: 0
garbage: 0
size-garbage: 0
(注意松散对象count 和size)。在git gc 之后我有更多:
$ git count-objects -v
count: 6735
size: 19687
in-pack: 142215
packs: 1
size-pack: 43373
prune-packable: 0
garbage: 0
size-garbage: 0
我知道发生这种情况是因为git gc 在无法访问时将对象从包中逐出;作为松散的物体,它给了它们新的“生命租约”。
如何避免git gc 的这种单一行为发生?我希望保留它的所有其他行为,即所有超时、各种垃圾清除、除此之外的所有行为。
我最多每月运行git gc。出于某种我不知道的原因,git gc --auto 几乎没有运行过(我不想改变它)。
【问题讨论】: