如何防止Git存储库增长到最大大小?

时间:2017-12-13 11:05:30

标签: git

有一个存储库,您需要控制其大小,并在超出限制的情况下阻止任何更改。如何实现这个?

1 个答案:

答案 0 :(得分:1)

<强>的.git /钩/预接收

#!/bin/bash

# size limit 2(Gb)
sizelimit_gb=2

reposize_kb=`git count-objects -v | grep 'size-pack' | sed  's/.*\(size-pack:\).//'`
let reposize_b=$reposize_kb*1024
let sizelimit_b=$sizelimit_gb*1024*1024*1024

if [ $reposize_b -gt $sizelimit_b ]; then
    echo "Error: repository size > $sizelimit_gb Gb"
    exit 1
#else
#    echo "<= $sizelimit_gb Gb"
fi

exit 0

上述脚本必须在服务器中保存为.git/hooks/pre-receive,并启用执行权限(chmod +x .git/hooks/pre-receive)。