Leverage GC options to control the pack sizes
If the number of packs exceeds the value of gc.autoPackLimit, then existing packs (except those marked with a .keep file or over gc.bigPackThreshold limit) are consolidated into a single pack by using the -A option of git repack. If the amount of memory is estimated not enough for git repack to run smoothly and gc.bigPackThreshold is not set, the largest pack will also be excluded (this is the equivalent of running git gc with --keep-base-pack). Setting gc.autoPackLimit to 0 disables automatic consolidation of packs.
Consolidation of pack files is not free, and it might be worth it to limit the sizes of pack.