IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue 项目git commit 规范限制 -> 正文阅读

[JavaScript知识库]vue 项目git commit 规范限制

背景

不规范的 Git Commit 提交使得现有项目的 Git Log 杂乱无章,长此以往,当我们通过 Git Log 来code review 时分不清哪些是我们的新功能,哪些是修复的 bug,哪些是项目的体验优化等等。
所以我们就要为 commit 提供一个约束,使我们的提交信息更为规范,能够一目了然的知道我们这次提交的内容是什么类型的更改。

Commit Message 格式

Commit Message的格式为:<type>(<scope>): <subject>,其中
1、 type(必填):用来说明 commit 的类别

 * feat:新增功能
 * fix:bug 修复
 * docs:文档更新
 * style:不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)
 * refactor:重构代码(既没有新增功能,也没有修复 bug)
 * perf:性能, 体验优化
 * test:新增测试用例或是更新现有测试
 * build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
 * ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
 * chore:不属于以上类型的其他类型,比如构建流程, 依赖管理
 * revert:回滚某个更早之前的提交

我们常用的也就

feat
fix
style
perf

2、scope(可选):用来说明 commit 影响的范围,比如数据层、视图层等,一般我基本不用
3、subject(必填):说明 commit 的目的描述

commitlint 工具

我们需要借助 commitlint 工具来帮我们检查我提交代码时写的 commit message 是否符合我们上述所说的规范
1、安装工具

npm install --save-dev @commitlint/config-conventional @commitlint/cli

2、项目根目录下创建配置文件

// commitlint.config.js
module.exports = {
	extends: ['@commitlint/config-conventional']
}

如果你要新增配置规则可以在后面追加在 rules: {} 中,关于具体的规则属性可以参考commitlint官网

Git Hooks

commitlint 本身只是一个检测工具,想要让它真正发挥作用需要将其与 git hooks 结合,当我们在使用git命令提交代码的时候能够检测我们的commit语法规则,从而阻止不合法的commit,push等。

vue-cli 创建的项目

在使用 vue脚手架 vue-cli 创建项目的时候,Vue 会自动帮我们做好一些配置,其中就有一个叫做 yorkie 的包,是尤大fork自 husky 的,做了一些小改动,他们的功能是一样的,都是生成一些 git hooks 文件,读取项目中 package.json 的相关配置项去执行一些命令。
如果你的项目也是通过 vue-cli 创建的 Vue 项目,只需要在你的 package.json 文件中加上

"gitHooks": {
	"commit-msg": "commitlint -E GIT_PARAMS"
}

其中 commit-msggit hooks(git 钩子)

参考

Git Commit 团队规范限制

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:33:45  更:2022-04-26 11:35:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:02:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码