chore(dev): 新增commit message检验钩子
This commit is contained in:
30
scripts/setup-git-hooks.sh
Executable file
30
scripts/setup-git-hooks.sh
Executable 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
|
||||
Reference in New Issue
Block a user