npx commitlint --edit "$1" || (
  echo ""
  echo "提交格式："
  echo "  <type>[scope]: <subject>"
  echo "  type 和 subject 必填，scope 可选。"
  echo ""
  echo "详细说明："
  echo "1. type（提交类型）："
  echo "   描述提交的目的，必须是以下之一："
  echo "    - feat     新功能开发"
  echo "    - fix      问题修复"
  echo "    - update   更新现有功能"
  echo "    - docs     文档调整"
  echo "    - style    代码格式调整（不影响功能）"
  echo "    - refactor 代码重构（非功能变更）"
  echo "    - perf     性能优化"
  echo "    - test     添加或修改测试代码"
  echo "    - chore    构建工具或依赖的变更"
  echo "    - revert   回滚到上一次提交"
  echo "    - build    构建相关的变更"
  echo "    - ci       CI/CD 配置或脚本调整"
  echo ""
  echo "2. scope（范围模块，可选）："
  echo "   - 可选字段，表明受影响的模块，例如 auth, api, ui 等。"
  echo "   - 如果省略，则提交格式为：<type>: <subject>"
  echo ""
  echo "3. subject（简要描述）："
  echo "   - 用一句话清晰描述本次提交的目的。"
  echo "   - 必须清晰、简短，不超过 72 个字符。"
  echo "   - 支持中文描述，可以用句号（。）结尾。"
  echo "   - subject 必须全部使用小写字母，不能使用句首大写、首字母大写、帕斯卡命名或全大写。（例如：update: gis弹窗添加基础功能, 地图定位）"
  echo ""
  echo "提交信息示例："
  echo "  feat(auth): 添加用户登录功能"
  echo "  fix: 修复用户接口返回错误问题"
  echo "  update(ui): 优化表单组件样式"
  echo "  style: 调整代码格式，去除无用空格"
  echo ""
  echo "错误原因：提交信息不符合以上规范，请根据提示修改！"
  echo ""
  exit 1
)
