diff --git a/README.md b/README.md index 553df6a..828c199 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,42 @@ # repo-template -🤞 初始化仓库 Git hook \ No newline at end of file +🤞 初始化仓库 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 +``` \ No newline at end of file