# repo-template 🤞 初始化仓库 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 ```