commitizen 可以保证自己本地的commit message规范,但是无法保证队友也是规范的,所以需要其他工具来检测队友的提交记录是否规范。使用validate-commit-msg 检查队友的commit message规范 #安装 $ npm install validate-commit-msg husky -D #添加package.json文件配置 "husky": { "hooks": { "commit-msg": "validate-...
配置git hooks 为了拦截不规范的 commit msg,需要利用 git hooks 的commit-msg自动执行 commitlint "gitHooks": { "commit-msg": "commitlint -e $GIT_PARAMS" } 乱输入一个 commit msg 试试,发现非常神奇。卡控生效了 按照以上步骤就可以规范你们团队的 commit msg了。 总结一下: step 1: 安装依赖 npm i...
通常我们使用 git log 查看 commit 信息,如下:我们可以使用以下命令,得到更简洁的输出:git log <last tag> HEAD --pretty=format:%s 另外,我们可以使用 --grep 得到包含某些单词的提交,比如 --grep feature 来得到属于 feature 类型的提交:git log <last release> HEAD --pretty=format:%s --grep feat 5...
手写git hooks 脚本(pre-commit、commit-msg) 简介 Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push等钩子(hooks)。我们可以在pre-commit触发时进行代码格式验证,在commit-msg触发时对 commit 消息和提交用户进行验证,在pre-push触发时进行单元测试、e2e 测试等操作。
配置 `.cz-configrc.js` 文件,参考示例项目进行自定义。使用 `npm run commit` 替换原 `git commit` 命令即可开始规范化提交。另外,`commitlint` 是一个类似于 ESLint 的工具,用于确保团队成员遵循一致的 commit msg 格式。通过安装依赖、添加 `.commitlint.config.js` 文件并配置规则,可以利用 ...
1. commit msg format 1. revert 如果这个commit revert 了别的 commit,那么它的 header 应该以 “revert:”开始,后面跟上被 revert 的 commit 的标题。body 应该是 This reverts commit <hash>. 2. header header 应该包括 type,分隔符,主题 type 主要包括: ...
"commit-msg":"./validate-commit-msg.js" } } 然后,每次git commit的时候,这个脚本就会自动检查 Commit message 是否合格。如果不合格,就会报错。 1 2 $ git add -A $ git commit -m"edit markdown"INVALID COMMIT MSG: does not match"<type>(<scope>): <subject>"! was: edit markdown ...
validate-commit-msg用于检查 Node 项目的 Commit message 是否符合格式。 $ sudo npm install --save-dev validate-commit-msg $ node_modules/.bin/validate-commit-msg"$(git log -1 --pretty=%B)" 2.4 commit message转换为changelog工具 如果你的所有 Commit 都符合 Angular 格式,那么发布新版本时, Change...
Git 最佳实践:commit msg 关键时刻,第一时间送达! 1.引言 gitcommit 是很小的一件事情,但是往往小的事情往往引不起大家的关注,不妨打开公司的 gitlab 上的任一个 repo,查看 commit log,满篇的 update 和 fix,完全不知道这些 commit 是要做啥。下面就说一些最近的看到和自己尝试的一些还不错的实践。
这里只需要使用到commit-msg钩子,我们回到根目录下,找到package.json文件,在最下面新增一个钩子指令 {"name":"项目名称","version":"1.1.1","scripts":{// 指令},"dependencies":{// 依赖},"gitHooks":{"commit-msg":"node ./git/index.ts"}} ...