一起来看看gitcommit时如何使用commitlint+Husky规范提交信息吧!1.基本概述在多人协作团队中,标准化的提交信息更具可读性和查找性。每个人的gitcommit信息都不一样,没有机制很难保证标准化。而commitlint可以帮我们解决这个问题。Commitlint是一种自动化工具,用于检查提交约定并在不符合规范时拒绝提交。当然,这些规则是可配置的。使用commitlint的优点:自动变更日志:由于提交遵循标准约定,可以使用标准版本等工具自动生成变更日志;更好地理解commit:特定类型和范围的commit将帮助我们了解commit更改了哪些代码;遵守特定约定:在多人协作的大型项目中,commitlint可以防止非标准提交,从而使commit遵循定义惯例。Git允许开发人员在触发特定事件时执行一些操作,这称为githook。我们可以在git工作流的很多阶段进行操作,比如:pre-commitpre-pushpre-rebasepost-update但是这个需要在本地.git文件中配置,所以默认情况下,每个开发者都需要安装需要的Hooks所以可以执行特定的检查。幸运的是,Husky可以帮助我们解决这个问题,而Husky可以让我们轻松地为项目添加githooks。Husky不仅可以用于执行提交约定,还可以在提交时运行静态代码分析、测试、自动代码格式化等。所以我们可以使用Husky和commitlint来检查commit信息是否符合commit规范。2、安装配置由于Commitlint使用的是Husky,所以我们需要先安装它。Husky是作为开发依赖项提供的,因此它仅在本地使用,不与生产代码捆绑在一起。在终端执行以下命令安装Husky://使用npm安装npminstall--save-devhusky//使用yarn安装yarnaddhusky--dev现在我们需要定义一个Hook来检查commit信息,这个钩子叫做commit-msg需要在package.json中定义:"husky":{"hooks":{"commit-msg":"commitlint-EHUSKY_GIT_PARAMS"}}或者,我们也可以定义一个.huskyrc配置在项目根目录下的文件中,在这个配置文件中单独定义Husky配置:{"hooks":{"commit-msg":"commitlint-EHUSKY_GIT_PARAMS"}}这段代码告诉githooks,当我们执行gitcommit-m'message'会触发commit-msg事件钩子,通知husky执行commitlint-e$GIT_PARAMS命令。该命令会读取commitlint.config.js中配置的规则,并验证提交的信息。如果验证失败,将在终端输出错误并终止提交。使用Husky,下一步是安装CommitlintCLI,它将由Husky钩子执行以验证提交消息://Installwithnpmnpminstall--save-dev@commitlint/cli//Installwithyarnyarnadd@commitlint/cli--devCommitlint只是一个用于检查提交消息是否符合规范的工具。所以,我们还需要一个提交规范。这个配置是完全可定制的,当然,Commitlint提供了一些超出当前支持的配置的配置:@commitlint/config-conventional@commitlint/config-lerna-scopes@commitlint/config-patternplate@commitlint/config-angular@commitlint/config-angular-type-enumCommitlint推荐使用config-conventional配置规范commit,安装命令如下://使用npm安装npminstall--save-dev@commitlint/config-conventional//使用yarn安装yarnadd@commitlint/config-conventional--dev在最后一步,我们需要创建一个Commitlint配置文件,在这个配置文件中我们可以定义要使用的配置,也就是上面刚刚安装的配置规范。你只需要在项目的根目录下创建一个名为commitlint.config.js的规范:module.exports={extends:['@commitlint/config-conventional'],};这样就完成了Husky和Commitlint配置的安装和安装。其执行过程如下:3.Commitlint推荐使用config-常规配置,其提交格式如下:gitcommit-m
