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代码检测主要用到commitlinthusky

commit规范介绍:

  • feat: 新功能、新特性
  • fix: 修改 bug
  • perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)
  • refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)
  • docs: 文档修改
  • style: 代码格式修改, 注意不是 css 修改(例如分号修改)
  • test: 测试用例新增、修改
  • build: 影响项目构建或依赖项修改
  • revert: 恢复上一次提交
  • ci: 持续集成相关文件修改
  • chore: 其他修改(不在上述类型中的修改)
  • release: 发布新版本
  • workflow: 工作流相关文件修改

commit格式

commit提交格式feat: 新功能

<type>: <subject>

注意冒号为英文字符冒号,且冒号后面有空格

commit的配置

  1. 安装
npm install -g @commitlint/cli @commitlint/config-conventional
  1. 生成配置文件
    这个文件在根目录下生成就可以了

     echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
    
  2. commitlint.config.js中制定提交规范

module.exports = { extends: ['@commitlint/config-conventional'] }
module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
'type-enum': [2, 'always', [
  'feat', 'fix', 'perf', 'refactor', 'docs', 'style', 'test', 'build', 'revert', 'ci', 'chore', 'release', 'workflow'
]],
'subject-full-stop': [0, 'never'],
'subject-case': [0, 'never']
  }
};

husky

husky继承了Git下所有的钩子,在触发钩子的时候,husky可以阻止不合法的commit,push等等。注意使用husky之前,必须先将代码放到git 仓库中,否则本地没有.git文件,就没有地方去继承钩子了。

  1. 安装
npm install husky --save-dev
  1. 配置package.json
"husky": {
  "hooks": {
    "pre-commit": "lint-staged", 
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
},
// 如果你下面有配置如下就加"pre-commit": "lint-staged",  如果没有lint-staged就只
 "lint-staged": {
    "src/**/*.{js,vue}": [
      "eslint",
      "git add"
    ]
  }

遇到的问题

  1. 校验如果没有生效,可能是因为husky版本过高,建议用3.1.0,再重新npm i
  2. 在这里插入图片描述
    代码里没有lint-staged,复制的之后复制了过来,要去掉husky里配置的 “pre-commit”: “lint-staged”,才正常生效。
  3. 还有可能是因为commitlint.config.js重新选择编码格式为UTF-8

总结

  1. 复制的husky很容易不了解自己的项目,造成一些错误,找不到原因。
  2. 多人协作开发时commit新增校验确实会有些帮助。
  开发工具 最新文章
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-03-04 15:48:03  更:2022-03-04 15:49:32 
 
开发: 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/26 6:32:01-

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