3、编写prepare-commit-msg文件 下面的commit-msg只能以[ADD],[MOD],[BUG]开头 #!/bin/sh ###### 校验提交信息 ######### # 从钩子脚本参数中获取提交信息 COMMIT_MESSAGE_FILE=$1 COMMIT_SOURCE=$2 SHA1=$3 COMMIT_MESSAGE=$(<"$COMMIT_MESSAGE_FILE")
问在交互式rebase期间使用git的prepare-commit-msg挂钩ENgit rebase简单的作用就是合并,同git merge很类...
使用validate-commit-msg 检查队友的commit message规范 #安装 $ npm install validate-commit-msg husky -D #添加package.json文件配置 "husky": { "hooks": { "commit-msg": "validate-commit-msg" } } #自定义校验格式(可选) #添加一个.vcmrc文件,配置对象如下: { "types": ["feat", "fix", "do...
1. pre-commit钩子:pre-commit钩子在执行git commit命令前触发。可以通过编写pre-commit钩子脚本来进行一些自定义的代码检查或格式化。例如,在提交前运行代码静态分析工具,确保代码符合规范。 2. prepare-commit-msg钩子:prepare-commit-msg钩子在Git编辑提交信息时触发。可以通过编写prepare-commit-msg钩子脚本来自动添加...
pre-commit:该钩子在键入提交信息前运行。它用于检查即将提交的快照。如果该钩子以非零值退出,Git 将放弃此次提交,你可以利用该钩子,来检查代码风格是否一致。 prepare-commit-msg:该钩子在启动提交信息编辑器之前,默认信息被创建之后运行。 它允许你编辑提交者所看到的默认信息。
{"husky": {"hooks": {"pre-commit":"echo 准备提交","commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-push":"echo 准备推送"} } } 通过HUSKY_GIT_PARAMS传递参数,-E|--env用于指向相关的编辑文件。 一般情况下,默认的就够用了。 当然,如果需要自定义限制这些规则,不启用默认的规则,可以把配置写...
prepare-commit-msg钩子:在启动提交 commit message 编辑器之前运行。可以在该阶段生成 commit message(commitizen 在该阶段运行),这样就不会打开编辑器输入 commit message 了 commit-msg钩子:填写 commit message 之后运行,如果该钩子的脚本以非零值退出,则 Git 放弃提交。可用于校验 commit message 是否符合规范。(co...
prepare-commit-msg:在提交信息编辑器打开之前运行。可以用来自动生成提交消息模板。 commit-msg:在提交信息编辑器关闭之后运行。可以用来验证提交消息的格式。 post-commit:在提交完成之后运行。可以用来发送通知或执行其他后续任务。 pre-rebase:在变基操作之前运行。可以用来检查变基前的状态。
如果vim .git/hooks/pre-commit可以看到代码的实现,基本逻辑是利用pre-commit文件去拓展更多的pre-commit,这个和我上一篇文章的逻辑是类似的。 安装/卸载其他阶段的hook。 pre-commit install pre-commit uninstall -t {pre-commit,pre-merge-commit,pre-push,prepare-commit-msg,commit-msg,post-checkout,post-...
即可通过git commit触发git commit提示。 优化prepare-commit-msg 目前git commit -m "feat: 新功能"也会触发cz提示,这里做一下优化,符合规范的不做cz提示: commit_msg=`cat $1` msg_re="^(feat|fix|docs|style|refactor|perf|test|workflow|build|ci|chore|release|workflow)(\(.+\))?: .{1,100}" ...