Git钩子位于仓库的.git/hooks/目录下。要触发commit-msg钩子,你需要在该目录下创建一个名为commit-msg的脚本文件(如果尚不存在),并确保该脚本具有可执行权限。 3. 配置commit-msg钩子脚本 以下是一个简单的commit-msg钩子脚本示例,它检查提交消息是否包含特定的关键字(例如:"BUGFIX"): ...
Git能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。 Git 在执行git init进行初始化时,会在.git/hooks...
最后,当时查看提交历史时,你会看到这样的commit message: docs(docs): 更新README文件 2、validate-commit-msg插件 commitizen 可以保证自己本地的commit message规范,但是无法保证队友也是规范的,所以需要其他工具来检测队友的提交记录是否规范。使用validate-commit-msg 检查队友的commit message规范 #安装 $ npm install...
而commitlint就是这样一种工具,通过结合husky一起使用,可以在开发者进行commit前就对Commit Message进行检查,只有符合规范,才能够进行commit。 上面我们提到过,git最常用的钩子函数有两个,一个是pre-commit,前面我们已经对这个阶段需要做的规范做了介绍,并且还使用了lint-staged工具。另外一个常用的钩子函数就是commit-...
{"husky": {"hooks": {"pre-commit":"echo 准备提交","commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-push":"echo 准备推送"} } } 通过HUSKY_GIT_PARAMS传递参数,-E|--env用于指向相关的编辑文件。 一般情况下,默认的就够用了。 当然,如果需要自定义限制这些规则,不启用默认的规则,可以把配置写...
Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。
在日常的开发工作中,我们通常使用 git 来管理代码,当我们对代码进行某项改动后,都可以通过 git commit 来对代码进行提交。 git 规定提交时必须要写提交信息,作为改动说明,保存在 commit 历史中,方便回溯。规范的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG,甚至对于项目的研发质量都有很大的提升。
Change Log 是发布新版本时,用来说明与上一个版本差异的文档。规范的msg信息可以使用工具自动生成CHANGELOG文档。 Commit Message要求 第一行不超过 50 个字符,使用命令git log --oneline的时候就只显示第一行 第二行空一行 第三行开始是描述信息,每行长度不超过 72 个字符,超过了自己换行,主要是为了阅读方便。
根目录创建控制文件 commitlint.config.js exportdefault{extends:['@commitlint/config-conventional']}; 接着.husky目录下commit-msg 添加触发钩子 npx commitlint--edit"$1" 运行效果 如下,实现了规则校验 ,git commit -m "sdfsdfsdfs" 这样子会不符合规则,需要按照git commit -m "feat: 提交msg"这样的规划...
commitizen可以保证自己本地的commit message规范,但是无法保证队友也是规范的,所以需要其他工具来检测队友的提交记录是否规范。使用validate-commit-msg检查队友的commit message规范 安装 npm install validate-commit-msg husky -D 添加package.json文件配置 "husky": { ...