chore(dev): 新增commit message检验钩子

This commit is contained in:
Lane0218
2025-12-30 09:46:02 +08:00
parent f36477d874
commit c0c9f70f16
3 changed files with 158 additions and 1 deletions

30
scripts/setup-git-hooks.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -euo pipefail
repo_root="$(git rev-parse --show-toplevel 2>/dev/null || true)"
if [[ -z "${repo_root}" ]]; then
echo "错误:当前目录不是 Git 仓库,无法配置 hooks。" >&2
exit 1
fi
cd "${repo_root}"
hooks_dir=".githooks"
if [[ ! -d "${hooks_dir}" ]]; then
echo "错误:未找到 ${hooks_dir} 目录,请确认仓库已包含 hooks 文件。" >&2
exit 1
fi
git config core.hooksPath "${hooks_dir}"
echo "已启用本仓库 Git hooks" >&2
echo " core.hooksPath=${hooks_dir}" >&2
echo "" >&2
echo "现在执行 git commit 时会校验提交信息是否符合:" >&2
echo " doc/Git Commit Message 规范.md" >&2
echo "" >&2
echo "查看当前配置:" >&2
echo " git config --get core.hooksPath" >&2
echo "" >&2
echo "如需取消(恢复默认 .git/hooks " >&2
echo " git config --unset core.hooksPath" >&2