2025-10-05 16:33:59 +08:00
|
|
|
# repo-template
|
|
|
|
|
|
2025-10-05 16:35:22 +08:00
|
|
|
🤞 初始化仓库 Git hook
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# 获取提交信息
|
|
|
|
|
COMMIT_MSG_FILE=$1
|
|
|
|
|
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")
|
|
|
|
|
|
|
|
|
|
# 正则表达式
|
|
|
|
|
regex="^(Feat|Update|Fix|Docs|Style|Refactor|Perfect|Test|Chore): .+"
|
|
|
|
|
|
|
|
|
|
# 匹配提交类型
|
|
|
|
|
if [[ "$COMMIT_MSG" =~ $regex ]]; then
|
|
|
|
|
# 根据类型映射 Emoji
|
|
|
|
|
case "${BASH_REMATCH[1]}" in
|
|
|
|
|
"Feat") EMOJI="✨" ;;
|
|
|
|
|
"Update") EMOJI="🔄" ;;
|
|
|
|
|
"Fix") EMOJI="🐛" ;;
|
|
|
|
|
"Docs") EMOJI="📝" ;;
|
|
|
|
|
"Style") EMOJI="🎨" ;;
|
|
|
|
|
"Refactor") EMOJI="♻️" ;;
|
|
|
|
|
"Perfect") EMOJI="⚡" ;;
|
|
|
|
|
"Test") EMOJI="✅" ;;
|
|
|
|
|
"Chore") EMOJI="🔧" ;;
|
|
|
|
|
*) EMOJI="" ;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# 追加 Emoji(如果未添加过)
|
|
|
|
|
if [[ ! "$COMMIT_MSG" =~ "$EMOJI" ]]; then
|
|
|
|
|
NEW_MSG="${BASH_REMATCH[0]} $EMOJI${COMMIT_MSG:${#BASH_REMATCH[0]}}"
|
|
|
|
|
echo "$NEW_MSG" > "$COMMIT_MSG_FILE"
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
# 拒绝提交
|
|
|
|
|
echo "错误:提交信息格式必须为 \"<类型>: <描述>\",例如 \"Feat: 新增功能\""
|
|
|
|
|
echo "可选类型: Feat|Update|Fix|Docs|Style|Refactor|Perfect|Test|Chore"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
```
|