Git hooks 实现 commit 自动生成项目目录实现
coding
passion
可以参考之前更改commit
的逻辑。不过要注意,如果设置了全局 hooks , 项目内的就无法使用了
#!/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
评论列表