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 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 项目规范(四):git 提交规范 -> 正文阅读

[开发工具]项目规范(四):git 提交规范

概述

在使用git提交代码时,如果多人开发,为了保证提交到仓库的代码足够规范,所以需要进行一些配置来实现


commitizen:规范提交类型

在我们提交代码时,可能是做了不同类型的更改,比如提交新功能,或修改bug,又或者重构代码等,通过commitizen有助于我们直接选择类型提交。

Type作用
feat新增特性 (feature)
fix修复 Bug(bug fix)
docs修改文档 (documentation)
style代码格式修改(white-space, formatting, missing semi colons, etc)
refactor代码重构(refactor)
perf改善性能(A code change that improves performance)
test测试(when adding missing tests)
build变更项目构建或外部依赖(例如 scopes: webpack、gulp、npm 等)
ci更改持续集成软件的配置文件和 package 中的 scripts 命令,例如 scopes: Travis, Circle 等
chore变更构建流程或辅助工具(比如更改测试环境)
revert代码回退

安装

1.安装commitizen

npm install commitizen -D

2.安装cz-conventional-changelog,并且初始化cz-conventional-changelog:

npx commitizen init cz-conventional-changelog --save-dev --save-exact

这个命令会帮助我们安装cz-conventional-changelog:
image-20210723145249096
并且在package.json中进行配置:

这个时候我们提交代码可以使用 npx cz:,为了方便还可在package.json进行以下配置

配置

在package.json中配置脚本命令

"commit":"cz"

即可通过以下进行提交

npm run commit

husky:提交验证

现在虽然可以通过commitizen来进行提交了,但是还是可以通过git commit -m的形式来进行提交,且提交的代码可能不够规范,提交的信息也可能不包含提交类型,总之不够规范。
通过husky可以解决上述问题
husky是一个git hook工具,可以帮助我们触发git提交的各个阶段:pre-commit、commit-msg、pre-push

1.自动配置

npx husky-init ; npm install

这里会自动做三件事:

1.安装husky相关的依赖:
2.在项目目录下创建 .husky 文件夹:
3.在package.json中添加一个脚本:

2.提交前检查代码规范

步骤1后自动生成如下pre-commit文件
在这里插入图片描述
在这里插入图片描述
也就是在提交前会执行npm test,所以我们改成我们想要的提交前验证代码规范即可
在这里插入图片描述
这样在提交代码时,如果没有符合eslint规范,它会先调整规范再进行提交

3. 提交时验证提交信息

由于我们还可以git commit -m msg的形式提交,但是msg可能不符合我们想要的类型规范,如 feat:xxxxx、fix:xxxxx
所以可以通过配置commit-msg、commitlint

1.安装 @commitlint/config-conventional 和 @commitlint/cli

npm i @commitlint/config-conventional @commitlint/cli -D

2.在根目录创建commitlint.config.js文件,配置commitlint

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

3.使用husky生成commit-msg文件,验证提交信息

npx husky add .husky/commit-msg

4.生成的commit-msg文件中配置

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-06 15:28:08  更:2021-12-06 15:28:41 
 
开发: 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/15 17:28:26-

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