1、创建一个文件夹保存钩子文件,如"D:\softwares\Git\git-hooks" 2、设置全局钩子函数地址: git config --global core.hooksPath"D:\softwares\Git\git-hooks" 3、编写prepare-commit-msg文件 下面的commit-msg只能以[ADD],[MOD],[BUG]开头 #!/bin/sh ### 校验提交信息 ### # 从钩子脚本参数中获取提交...
手写git hooks 脚本(pre-commit、commit-msg) 简介 Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。
Git能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。 Git 在执行git init进行初始化时,会在.git/hooks...
手写git hooks 脚本(pre-commit、commit-msg) 简介 Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。
从动图中可以看出,这次 commit 已正常提交了。 commit-msg 在commit-msg hooks 中,我们需要对 commit 消息和用户进行校验。 #!/bin/sh #用 `` 可以将命令的输出结果赋值给变量 # 获取当前提交的 commit msg commit_msg=`cat $1` # 获取用户 email email=`git config user.email` msg_re="^(feat|fix...
Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push 等钩子(hooks)。我们可以在 pre-commit 触发时进行代码格式验证,在 commit-msg 触发时对 commit 消息和提交用户进行验证,在 ...
Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。
把一个正确命名且可执行的文件放入 git 目录下的 hooks 子目录中,即可激活该钩子脚本。这样一来,它就能被 git 调用。 如将文件名设置为 pre-commit,放.git/hooks目录下,可以在使用 git commit 时,自动触发该脚本。 可以使用 commit-msg 钩子去限定下,提交信息必须符合某种格式,否则不允许提交 Git 支持的所有...
{"name":"项目名称","version":"1.1.1","scripts":{// 指令},"dependencies":{// 依赖},"gitHooks":{"commit-msg":"node ./git/index.ts"}} 编写钩子函数 根据指令指向的地址,创建一个git文件夹,在文件下新建一个index.ts文件,写入如下内容: ...
在.git/hooks目录下找到commit-msg.sample,重命名为commit-msg 修改其内容为如下: #!/bin/sh MSG=`awk '{printf("%s",$0)}' $1` if [ ${#MSG} -lt 10 ] then echo "---" echo "commit message 只有${#MSG}字符" echo "message的长度不能小于10, 本次提交失败,请完善commit...