angular代码规范_前端之路:用Angular规范来约束团队git提交

团队协作开发, git 作为一个开源的分布式版本控制系统,俨然成为当下最受欢的项目代码版本管理工具, 即是团队,就要有一定的规矩,规范,这样才能更好的发挥团队效率。熟悉 git 的小伙伴都知道,每次提交代码, 都要写 Commit message(提交说明),否则就不允许提交,至于提交的信息 git 并没有进行约束,以至于, 提交上来的说明是五花八门,由此社区出现了多种写法规范,其中 Angular 规范 是目前最为广泛的写法,比较合理和系统化。 本文就来讲一讲两种使用 Angular 规范的方法。

法一,基于项目通过 hooks 触发(我司团队用的此方法)

这种方法的好处是,任何人只要想往本项目提交 commit,就必须按照规范,否则不然提交。

安装所需依赖, npm i --save-dev husky chalk ;

在项目的根目录新建一个文件夹 .github (名字随意),这个文件夹专门用来存放 github 相关的东西;

在上一步的文件夹中新建 node 脚本文件 verifyCommitMsg (名字随意);

在上一步的脚本文件中写入一下代码:

#!/bin/env node

const chalk = require('chalk');

const msgPath = process.env.HUSKY_GIT_PARAMS;

if (!msgPath) {

console.error(chalk.red(`process.env.HUSKY_GIT_PARAMS can't be ${msgPath},please check`));

process.exit(1);

}

console.log('HUSKY_GIT_PARAMS: ', msgPath);

const msg = require('fs')

.readFileSync(msgPath, 'utf-8')

.trim();

console.log(msg);

const commitRE = /^(revert: )?(feat|fix|docs|style|refactor|perf|test|workflow|ci|chore|types)(\(.+\))?: .{1,50}/;

if (!commitRE.test(msg)) {

console.log();

console.error(

` ${chalk.bgRed.white(' ERROR ')} ${chalk.red(`invalid commit message format.`)}\n\n` +

chalk.red(

` Proper commit message format is required for automated changelog generation. Examples:\n\n`

) +

` ${chalk.green(`feat(compiler): add 'comments' option`)}\n` +

` ${chalk.green(`fix(v-model): handle events on blur (close #28)`)}\n\n` +

chalk.red(` See .github/COMMIT_CONVENTION.md for more details.\n`)

// chalk.red(` You can also use ${chalk.cyan(`npm run commit`)} to interactively generate a commit message.\n`)

);

process.exit(1);

}

复制代码

在 package.json 增加/修改 hooks,如下:

...

"husky": {

"hooks": {

"commit-msg": "node .github/verifyCommitMsg"

}

},

...

复制代码

这样就做到了每次提交都会检查 commit 信息了,当不符合规范时,会给出提示。 例如:

法二,基于 npm 依赖插件

这种方法的好处是,提交比较人性化。

全局安装依赖, npm i -g commitizen

初始化适配器, commitizen init cz-conventional-changelog --save-dev --save-exact

用 git cz 命令 代替 git commit

例如:

=== 文中不足,欢迎指正 ===

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值