从0到1的手把手教你配置项目git提交规范及其执行顺序

发布时间 2023-09-28 14:52:51作者: 这么拼都不秃

从 0 到 1 的手把手教你配置项目 git 提交规范及其执行顺序

这里以 React 项目为例

    1. 初始化一个项目
 npx create-react-app my-app --template typescript
 cd  my-app
 npm start
    1. 初始化 git
  git init
    1. 安装 husky 并进行配置
 npm i husky
 # 根据node_modules/husky/README.md中的说明进行配置

 npm pkg set scripts.prepare="husky install"


 npm run prepare

 npx husky add .husky/pre-commit ""

 npx husky add .husky/commit-msg ""


    1. 写配置文件
 # 按照上面的顺序执行之后会在你的项目根目录下生成.husky 目录并且下面会生成两个文件,commit-msg 和 pre-commit
 # 打开.husky/commit-msg 文件,将下面的内容复制到里面

commit_msg_file=$1
commit_msg=$(cat $1)
regex="^[A-Z][A-Za-z0-9]*[0-9]+[A-Za-z0-9]*(\W)+$" # 将 YOUR_CUSTOM_REGEX 替换为你自己的正则表达式

if ! echo "$commit_msg" | grep -iqE "$regex"; then
  echo "无效的提交的信息!"
  echo "请按照这个正则:$regex 来提交"
  exit 1
fi


 # 打开.husky/pre-commit 文件,将下面的内容复制到里面
 # 这个功能主要是进行 代码格式的校验和自动格式化

    1. 完成配置测试
 git add ./
 git commit -m "1231"
 # 校验失败
 git commit -m "A1bcd!"
 # 校验成功

错误/警告采集器

问题 ❓:
hint: The '.husky/commit-msg' hook was ignored because it's not set as executable.
hint: You can disable this warning with git config advice.ignoredHook false.

解决方案 ?:
(在 mac 电脑)
某个 Git 钩子脚本没有设置为可执行文件
运行以下命令,将.husky/commit-msg 脚本设置为可执行文件:

 chmod +x .husky/commit-msg

运行以下命令来验证脚本是否已设置为可执行文件:

 ls -l .husky/commit-msg

如果你仍然收到相同的警告信息,你可以根据提示禁用该警告,运行以下命令:

 git config advice.ignoredHook false