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 Commit 规范 -> 正文阅读

[开发工具]Git Commit 规范

为什么要添加Git Commit规范(约束)?

git是现在市面上最流行的版本控制工具,书写良好的commit message能大大提高代码维护的效率也能有效提高代码CR的效率。但是在日常开发中由于缺少对于commit message的约束,导致填写内容随意、质量参差不齐,可读性低亦难以维护。而一个好的commit,让人一眼就知道这次 commit 对应干了什么,在项目中引入commit message规范可以有效解决这种问题。

Git Commit规范是什么?

git commit规范是在git commit将代码添加到本地仓库之前校验commit信息是否符合规定的校验,不通过则不能保存在本地仓库里。

怎么去添加Git Commit规范?

不同企业可能会根据企业特性去定制化调整commit规范,但目前行内使用最多的还是基于Angular 团队的 commit 规范。所以本次也只是对于这种规范进行简单介绍,以及使用 husky 插件来帮助我们检验是否符合规范。

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
// 分别对应 Commit message 的三个部分:Header,Body 和 Footer。

Header

type (必需) commit 的类别
scope (可选) 影响的范围
subject(必需) 简短的说明

type 的类型描述
feat新增功能f
fixbug 的修复
perf性能优化
refactor重构代码(既没有新增功能,也没有修复 bug)
build主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
ci主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle 等)的提交
docs文档更新
style不影响程序逻辑的代码修改(修改空白字符,补全缺失的分号等)
revert回滚某个更早之前的提交
chore变更构建流程和辅助工具
test新增测试用例或是更新现有测试

Body

对本次 commit 修改内容的具体描述, 可以分为多行。

# body: 72-character wrapped. This should answer:
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
# initial commit

Footer

一些备注, 通常是 BREAKING CHANGE(当前代码与上一个版本不兼容) 或修复的 bug(关闭 Issue) 的链接。

husky 插件是什么?

husky 是一个 Git Hook 工具。husky 其实就是一个为 git 客户端增加 hook 的工具。将其安装到所在仓库的过程中它会自动在.git/ 目录下增加相应的钩子实现在 pre-commit 阶段就执行一系列流程保证每一个 commit 的正确性。部分 cd 在 commit stage 执行的命令可以挪动到本地执行,比如 lint 检查、比如单元测试。当然,pre-commit 阶段执行的命令当然要保证其速度不要太慢,每次 commit 都等很久也不是什么好的体验。

1、安装husky

yarn add -D husky @commitlint/config-conventional @commitlint/cli

2、配置 husky 插件(在 package.json 中新增一个 husky 相关配置)

"husky": {
  "hooks": {
    "pre-commit": "npm run lint", // 不需要在Commit时lint,不配置此项
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" // 提交信息检测
  }
}

3、Husky 配置
在项目的根目录下新建一个 commitlint.config.js 文件

module.exports = {
  extends: ['@commitlint/config-conventional'], // 使用@commitlint/config-conventional规范
};

配置完毕后,如果不按照规范提交是无法提交的。husky 工具会直接从 Git 命令层面打断你的提交。

参考文章:
git commit 规范
GitHook 工具 —— husky 介绍及使用

  开发工具 最新文章
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常用快捷键
上一篇文章           查看所有文章
加:2022-07-04 23:10:55  更:2022-07-04 23:13: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年5日历 -2024/5/18 15:02:31-

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