赞
踩
Git Commit 是开发的日常操作, 一个优秀的 Commit Message 不仅有助于他人 Review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是实际工作中却常常被大家忽略,希望通过本文,能够帮助大家规范 Git Commit,并且展示相关 Commit 工具库或包,及相关变更日志和版本发布自动化工具
那么如何能优雅而又不失体面的提交你的代码呢?其实我们的
git commit message
是应该具备一些规范的。目前规范用的比较多的是 Angular 团队的规范
message 样例:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Type:必须是下列之一
fix:bug 修复
Subject:主题包含对变更的简洁描述
Body:具体的修改内容,可以包括与之前的对比
Footer:通常是 BREAKING CHANGE 或修复的 issue 链接
commitizen git commit 格式化工具, 为我们提供标准化的 commit 信息。帮助我们统一项目 commit ,便于信息的回溯或日志的生成。# commit message 格式
commitizen 只是提供一个 commit 格式化或交互工具, 最终需要输出符合 commit 规则的信息给 git,所以需要线了解 commit 格式规则
npm install -D commitizen cz-conventional-changelog
package. json 中添加
"scripts": {
...
"commit": "git-cz"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
}
如果 Angular 的规范不符合我们的实际,同样我们也可以通过 cz-customizable 定制一套符合自己或者团队的规范。
npm install -D cz-customizable
同时 package. json 需要修改
"config": {
"commitizen": {
"path": "node_modules/cz-customizable"
}
}
之后对应项目目录下创建 .cz-config. js 文件,用来维护自己的格式
官网中有对应的样例配置文件:cz-customizable/cz-config-EXAMPLE.js at master · leoforfree/cz-customizable · GitHub
可以做到如果不符合校验规范,就会直接拒绝 commit 请求
# Angular 团队的规范
npm install -D @commitlint/config-conventional @commitlint/cli
# 自定义规范
npm install -D commitlint-config-cz @commitlint/cli
在项目目录下创建配置文件 .commitlintrc. js
Angular 团队的规范
module.exports = {
extends: [
''@commitlint/config-conventional''
],
rules: {
}
};
module.exports = {
extends: [
'cz'
],
rules: {
}
};
在做前端工程化时 husky 可以说是一个必不可少的工具。husky 可以让我们向项目中方便添加 git hooks。
官方链接:typicode/husky: Git hooks made easy 声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。