git 约定提交
时间:2021-09-05
本文章向大家介绍git 约定提交,主要包括git 约定提交使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
约定式提交
是 git 提交消息的约定,最有名的规范大概是 Angular 约定
结构
- <> : 必填
- [] : 选填
<type>[scope]: <subject>
[body]
[footer]
// 翻译
<类型>[范围]: <描述>
[正文]
[脚注]
type(提交类型)
- feature:新功能
- fix:修复bug
- refactor:保证原功能不变的代码重构
- perf: 优化性能的代码更改
- test:测试
- style: 代码格式化
- build: 影响构建或外部依赖的更改(gulp, npm,yarn)
- chore:构建过程或辅助工具的变动
- ci: 更改CI配置文件和脚本(Travis、Circle、BrowserStack、SauceLabs)
- docs:项目文档
- revert: 恢复前一个提交
scope(范围)
当前 commit 影响的代码范围,如:
后端: controller, service, repository
前端: view,api,component
subject
是提交的简短描述,以动词开头
body
是提交的详细描述
Footer
- 描述不兼容变化
BREAKING CHANGE: [变化]
[变化前后示例]
- 关闭的 issue
Closes #231
工具
Commitizen
是生成约定式提交的工具
安装
npm install -g commitizen
# 或
yarn global add commitizen
在项目目录下初始化提交约定
# npm
commitizen init cz-conventional-changelog --save --save-exact
# yarn
commitizen init cz-conventional-changelog --yarn --dev --exact
提交时用 git cz
代替 git commit
@commitlint/cli
检测提交是否符合约定
安装
npm install --save-dev @commitlint/cli @commitlint/config-angular
# windows
npm install --save-dev @commitlint/config-conventional @commitlint/cli
// 在项目下配置
echo "module.exports = {extends: ['@commitlint/config-angular']};" > commitlint.config.js
在git提交前检查
# 安装 Husky
npm install husky --save-dev
# 或
yarn add husky --dev
# 激活 hooks
npx husky install
# 或
yarn husky install
# 添加 hook
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
standard-version
生成提交历史工具
安装
npm install -g standard-version
在项目下运行 standard-version
,会生成 CHANGELOG.md 文件,包含全部提交历史
一键脚本
{
"scripts": {
"release": "standard-version"
}
}
git-commit-message-helper
jetbrains 相关编辑器下的插件
原文地址:https://www.cnblogs.com/plum-nikolas/p/15230796.html
- hadoop: hbase1.0.1.1 伪分布安装
- InstallShield 脚本语言学习笔记
- C++服务器开发之笔记三
- 分布式服务注册和发现consul 简要介绍
- ZooKeeper 笔记(3) 实战应用之【统一配置管理】
- 3D游戏开发之在UE4中创建非玩家角色(NPC)
- VMware Fusion DHCP方式下如何指定虚拟机IP地址
- Visual Studio 2015正式发布
- 科技巨头纷纷入局 医疗人工智能需要奋起直追?
- Windows PowerShell 工具
- 游戏开发之在UE4中编写C++代码控制角色
- Visual Studio 64位应用程序编译
- Windows 7 上安装Visual Studio 2015 失败解决方案
- Silverlight调用本机exe程序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅谈tensorflow 中的图片读取和裁剪方式
- Python实现SMTP邮件发送
- 浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
- 通过PHP设置BugFree获取邮箱通知
- Django封装交互接口代码
- 使用K.function()调试keras操作
- tensorflow图像裁剪进行数据增强操作
- ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
- Python+PyQt5+MySQL实现天气管理系统
- 浅谈Python协程
- Python logging模块异步线程写日志实现过程解析
- php-fpm重启导致的程序执行中断问题详解
- Python Socket TCP双端聊天功能实现过程详解
- django 将自带的数据库sqlite3改成mysql实例
- 利用python对mysql表做全局模糊搜索并分页实例