Forest_Client/Tool/GitHook/pre-commit

34 lines
1.0 KiB
Plaintext
Raw Normal View History

2024-10-28 13:08:39 +08:00
#!/bin/sh
echo "执行pre-commit钩子"
check_commit() {
# 执行检查
git diff --cached --name-only | while read FILE; do
if [[ "$FILE" =~ \.cs$ ]]; then
git diff --cached --unified=0 "$FILE" | grep -v '^-' | grep -q "Forbidden to commit"
if [ $? -eq 0 ]; then
echo "提交失败: $FILE 包含'Forbidden to commit'内容"
return 1
fi
# 只对Code文件夹下的文件进行检查
if [[ $FILE == *"Forest/Assets/Scripts/"* ]]; then
git diff --cached --unified=0 "$FILE" | grep -v '^-' | grep -q "using NPOI.SS.Formula.Functions"
if [ $? -eq 0 ]; then
echo "Code 提交失败: $FILE 包含'using NPOI.SS.Formula.Functions'内容"
return 1
fi
fi
fi
done
}
check_commit
if [ $? -eq 1 ]; then
echo "pre-commit 检查失败,取消commit"
exit 1
else
echo "pre-commit 检查成功,允许commit"
exit 0
fi