有一个存储库,您需要控制其大小,并在超出限制的情况下阻止任何更改。如何实现这个?
答案 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
)。