Git hooks 生成目录

可以参考之前更改commit的逻辑。不过要注意,如果设置了全局 hooks , 项目内的就无法使用了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh

# 获取当前仓库的工作目录(去掉末尾的 .git/)
REPO_NAME=$(git remote get-url origin | xargs basename -s .git)
echo "Repository Name: $REPO_NAME"

# 定义处理特殊仓库的函数
panshi_pre() {
# 切换到项目的根目录
cd "$(git rev-parse --show-toplevel)" || { echo "Failed to change to toplevel directory"; exit 1; }
# 执行 kuai 命令生成 catalogue.md
/Users/thh/go/bin/kuai tool:build_catalogue > catalogue.md 2>&1
# 检查 catalogue.md 是否存在并且不是空的
if [ ! -s catalogue.md ]; then
echo "文件没有生成检查是否正常"
exit 0
fi
# 将 catalogue.md 添加到暂存区
git add catalogue.md
# 输出提示信息
echo "目录生成"
}

# 判断是否需要处理特殊仓库
if [[ "$REPO_NAME" == *"panshi-doc"* ]]; then
# 调用在后面定义的函数
panshi_pre
exit 0 # 如果函数内部没有退出,则在这里退出
else
echo "不需要生成目录"
exit 0
fi