vue 打印出git提交信息_规范git项目提交并自动生成项目commit log
commit message 是开发的日常操作, 好的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是在平时工作时,只依赖大致的开发规范和自觉,很难形成一种普遍约束。而通过本文,对项目进行一些基础配置,让开发者在提交时可以自动对提交作出规范
1,项目效果
代码提交
2,自动生成commit 日志
2,配置
依赖包
npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D
配置package.json
{"scripts": {"log": "conventional-changelog --config ./node_modules/vue-cli-plugin-commitlint/lib/log -i CHANGELOG.md -s -r 0","cz": "npm run log && git add . && git cz"},"husky": {"hooks": {"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"}},"config": {"commitizen": {"path": "./node_modules/vue-cli-plugin-commitlint/lib/cz"}}
}
配置文件commitlint.config.js
module.exports = {extends: ['./node_modules/vue-cli-plugin-commitlint/lib/lint']
};
使用:
npm run cz # git add . && git commit -m 'feat:(xxx): xxx'
npm run log # 生成 CHANGELOG
官方文档:
vue-cli-plugin-commitlintwww.npmjs.com
3,各个包的作用解释
根据上面的配置,已经可以给项目配置提交的规范了。如果只是想应用,那么后面的各个包的功能解释部分可以选看。
- husky
- commitizen
- commitlint
- conventional-changelog-cli
husky: git命令时,自定义指定一些动作
// package.json
{"husky": {"hooks": {"pre-commit": "npm test","pre-push": "npm test","...": "..."}}
}
// commit之前会走 test
// push之前会走 test
commitlint
可以帮助我们 lint commit messages, 如果我们提交的不符合指向的规范, 直接拒绝提交, 比较狠.
commitizen
我们需要借助它提供的 git cz 命令替代我们的 git commit 命令, 帮助我们生成符合规范的 commit message
conventional-changelog-cli
根据git的metadata生成changelog
所以,回看一下刚才的package.json
{"scripts": {"log": "conventional-changelog --config ./node_modules/vue-cli-plugin-commitlint/lib/log -i CHANGELOG.md -s -r 0","cz": "npm run log && git add . && git cz"},"husky": {"hooks": {"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"}},"config": {"commitizen": {"path": "./node_modules/vue-cli-plugin-commitlint/lib/cz"}}
}
当输入yarn cz时,
0, 首先生成log
1,走命令git cz。生成commit message
2,husky检查commit-msg: commitlint -E HUSKY_GIT_PARAMS
3, 校验完成后,自动提交
vue 打印出git提交信息_规范git项目提交并自动生成项目commit log相关推荐
- git push被拒绝_规范git项目提交并自动生成项目commit log
commit message 是开发的日常操作, 好的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是在平时工作时,只依赖大致的开发规 ...
- clone git 修改保存路径_用git管理版本,你必须知道的事情
git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库branch 分支summary 摘要tr ...
- git 删除分支_常用Git操作命令指南
1.初始化git git init 2.下载git服务器上面的项目 git clone https://github.com/mrjade/reportng.git 3.配置git (1)查看git配 ...
- mysql三阶段提交实现_基于两阶段提交的分布式事务实现(UP-2PC)
引言:分布式事务是分布式数据库的基础性功能,在2017年上海MySQL嘉年华(IMG)和中国数据库大会(DTCC2018)中作者都对银联UPSQL Proxy的分布式事务做了简要介绍,受限于交流形式难 ...
- .git文件夹_关于Git使用的(吐血)整理再也不用担心因为电脑故障而失去自己辛苦写下的论文或代码...
微信公众号:MitchHong 作者:Mitch Hong 微信号:ASparkleSubscription; 目录 前言Git简介GitGit工作流程Git安装Git如何使用初始化常用命令git中的 ...
- git 切换分支_简单git操作
首先设置用户基本信息设置 设置用户名 git config - -global user.name 'Hazel6869' 设置用户名邮箱 git config - -global user.name ...
- IntelliJ IDEA 怎么知道项目信息_如何重新打开已经移除的项目_如何关闭和删除项目
文章目录 一个窗口只管理一个项目 如何打开已经移除的项目 Open 和 Import 的简单区别 关闭项目 如何删除项目 IDEA 怎么知道项目信息 这里要特别理解一个问题,硬盘上的项目文件必须在 I ...
- c++ 如何获取移动硬盘型号信息_工程销售,如何高效快速获取项目信息
怎么获取工程信息,对于做建筑工程的销售来说,基本都知道,无非就是通过扫街.网上 搜索.购买第三方工程信息服务.或者他人介绍(亲朋好友.客户.同事.设计师等).在怎 么找项目信息方面?每个人都有自己的方 ...
- diff git 指定时间_【GIT】从指定分支两个Tag中获取差异文件,进行代码的增量更新...
介绍 随着DevOps兴起,在做CD代码上线交付时候,代码全量更新是很费时间的.下面代码就可以帮助我们从指定分支两个Tag中获取差异文件,进行代码的增量更新. 环境 Jenkins Git代码管理 获 ...
最新文章
- Centos 7 安装 rabbitmq 3.6.6
- Oracle 11g 新特性 -- 只读表(read-only table)说明
- python并发入门(part5 event对象)
- 超图桌面版新建一个简单三维数据集并发布
- 【中文】Joomla1.7扩展介绍之eXtplorer(文件管理器)
- 在Tomcat中配配置数据源汇总
- 02-05 Python库-time datetime
- 传统汽车被“智能”打败?且看汽车进化的黄金十年!
- Quartus17报错Top-level design entity “dff“ is undefined的解决办法
- Java入门代码注释与编码规范(羊驼)
- Android 仿美团选择城市、微信通讯录、饿了么点餐列表的导航悬停分组索引列表
- C++ 整型转16进制字符串或16进制字符串转整型
- 2022自学kali linux学习笔记
- 华为NAT的命令总结
- 自己的神明——你只能成为自己
- Jetson Nano - 实现VNC远程桌面控制
- CMeKG代码解读(以项目为导向从零开始学习知识图谱)(一)
- 大一新生的pta错题归纳
- label fusion 学习记录
- PAT甲级 1071 说话方式
热门文章
- 丛高教授《空间数据管理和挖掘及在智慧城市的应用》演讲笔记
- MATLAB中的varargin,varargout在函数中运用
- mapreduce编程实例(2)-求最大值和最小值
- Python零碎知识(2):强大的zip
- python如何使用字典中的值并进行比较_python – 如何比较字典中的值?
- Matplotlib实例教程 | 句子长度累积分布函数图
- 如何快将数据集划分为train、val(Python3代码模板)
- 【Python刷题】_2
- Python编程基础:第四十节 类变量Class Variables
- python 模块(Module)和包