Commit规范
Commit规范
遵循commit规范是一件很重要的事,不仅更规范,而且也方便其他人查看git记录,所以这篇博客就用来浅记一下commit需要遵循的基本规范。
commit格式
在 Angular 规范中,Commit Message 包含三个部分,分别是 Header、Body 和 Footer,格式如下:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
其中,Header是必需的,Body和Footer可以省略。在以上规范中,scope必须用括号 () 括起来, <type>(<scope>])后必须紧跟冒号 ,冒号后必须紧跟空格,2 个空行也是必需的。
Header
Header 部分只有一行,包括三个字段:type(必选)、scope(可选)和 subject(必选)。
type
常见的type如下所示:
feat: 新特性
fix: 修改问题
refactor: 代码重构
docs: 文档修改
style: 代码格式修改, 注意不是 css 修改
test: 测试用例修改
chore: 其他修改, 比如构建流程, 依赖管理.
pref: 性能提升的修改
build: 对项目构建或者依赖的改动
ci: CI 的修改
revert: revert 前一个 commit
如何确定一个commit所属的分类呢,具体可以参照下面这张图:

scope
用来说明 commit 的影响范围。显然,不同项目会有不同的 scope。在项目初期,可以设置一些粒度比较大的 scope,比如可以按组件名或者功能来设置 scope;后续,如果项目有变动或者有新功能,可以再用追加的方式添加新的 scope。
scope 不适合设置太具体的值。太具体的话,一方面会导致项目有太多的 scope,难以维护。另一方面,开发者也难以确定 commit 属于哪个具体的 scope,导致错放 scope,反而会使 scope 失去了分类的意义。
subject
subject 是 commit 的简短描述,必须以动词开头、使用现在时。比如,可以用 change,却不能用 changed 或 changes,而且这个动词的第一个字母必须是小写。通过这个动词,可以明确地知道 commit 所执行的操作。此外还要注意,subject 的结尾不能加英文句号。
当然这里是英文的subject,我们在公司里面一般会使用中文,就没有这么多规矩了,不过最好也是动词开头,比如:修改了xxx。
Body
Body 部分可以分成多行,而且格式也比较自由。不过,和 Header 里的一样,它也要以动词开头,使用现在时。此外,它还必须要包括修改的动机,以及和跟上一版本相比的改动点。
Footer
Footer 部分不是必选的,可以根据需要来选择,主要用来说明本次 commit 导致的后果。在实际应用中,Footer 通常用来说明不兼容的改动和关闭的 Issue 列表,这个目前看来最不常用。
正确commit样例
fix(release/fix): 修复了商品库存显示错误的bug
添加新的id检索条件,使库存关联到地区,避免库存获取错误。
Reviewed-by: Lemon
Refs #133
Commit规范的更多相关文章
- git的commit规范及强制校验
1.背景 在多人协作项目中,如果代码风格统一.代码提交信息的说明准确,那么在后期协作以及Bug处理时会更加方便. 先来介绍本人公司采用的commit规范 Commit message格式 < ...
- git & Angular git commit 规范
git & Angular git commit 规范 https://github.com/angular/angular/commits/master https://github.com ...
- Github的commit规范
参考链接:GIT写出好的 commit message 基本要求 第一行应该少于50个字. 随后是一个空行 第一行题目也可以写成:Fix issue #8976 永远不在 git commit 上增加 ...
- git commit规范工具
npm install -g commitizen commitizen init cz-conventional-changelog --save --save-exact 以后,凡是用到git c ...
- git commit 规范
- git commit的规范
https://www.yuque.com/fe9/basic/nruxq8#6c228def 制定一个 git commit 信息的提交规范是开发团队工作流必不可少的环节.试想一下,如果查看主分支上 ...
- 如何规范git commit提交
相信很多人使用SVN.Git等版本控制工具时候都会觉得每次提交都要写一个注释有什么用啊?好麻烦,所以我每次都是随便写个数字就提交了,但是慢慢的我就发现了,如果项目长期维护或者修改很久之前的项目,没有一 ...
- Git Commit 提交规范
写好 Commit message 好处多多: 1.统一团队Git commit 日志风格 2.方便日后 Reviewing Code 3.帮助我们写好 Changelog 4.能很好的提升项目整体质 ...
- 老鸟都应该注意的git 提交规范
不知道大家有没有看过自己项目的git 提交信息-----我看过好多次 ,不忍直视 然后提醒一起的小伙伴 :大家规范点 信息要详细, 过段时间再看下 ,还是一样. 相信很多猿都有这样的感受,对于垃圾的 ...
- 您必须知道的 Git 分支开发规范
Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 master 分支 master 为主分 ...
随机推荐
- Ubuntu 22.04 全局快捷键失效问题
安装完 Ubuntu 22.04 后,你有可能会发现系统的快捷键失效了.侧栏用 Win + x 选中程序不可用了.为各种应用程序设置的快捷键也不起作用了. 出现此现象的原因,是因为 Ubuntu 22 ...
- 乐观锁CAS
在 Java 中,我们可以使用 synchronized 关键字和 CAS 来实现加锁效果. 悲观锁: 对于悲观锁来说,它总是认为每次访问共享资源时会发生冲突,所以必须对每次数据操作加上锁,以保证临界 ...
- g++ error unrecognized command-line option ‘-std=c++23’; did you mean ‘-std=c++03’?
编译一个C++的项目代码,报错: g++: error: unrecognized command-line option '-std=c++23'; did you mean '-std=c++03 ...
- 融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
当今的应用市场中,传统的应用产品已经难以完全满足消费者的多样化需求.为了在竞争激烈的市场中脱颖而出,企业需要深入洞察用户需求,提供个性化的服务体验和差异化的产品创新,以吸引并留住消费者. 比如,购物类 ...
- Jmeter并发线程场景下共享变量错乱问题解决
问题复现 问题描述 使用IF控制器获取前一个请求的后置脚本中设置的全局变量->并发线程下通过vars.get获取变量时,第一个线程和第二个线程获取的变量值一样->导致不同基础数据的请求入参 ...
- C#中的9个“黑魔法”
C#中的9个"黑魔法"与"骚操作" 我们知道C#是非常先进的语言,因为是它很有远见的"语法糖".这些"语法糖"有时过于好 ...
- 从零开始的Python世界生活——内置模块(Math)
从零开始的Python世界生活--内置模块(Math) Python的math模块提供了丰富的数学函数和常数,支持基本的数学运算.三角函数.对数.指数等,适用于科学计算和工程应用. 数学常量: 注意m ...
- context之WithTimeout的使用
1. context包的WithTimeout()函数接受一个 Context 和超时时间作为参数,返回其子Context和取消函数cancel2. 新创建协程中传入子Context做参数,且需监控子 ...
- (Python基础教程之十五)Python开箱Tuple–太多值无法解压
Python示例,用于unpack元组或序列或可迭代,以便该元组可能长于N个元素,从而导致" 太多的值无法unpack "异常. 1.打开任意长度的元组 Python" ...
- Shiro 漏洞复现
Shiro 漏洞复现 shiro是什么? ApacheShiro是一个灵活且全面的Java安全框架,它为现代应用程序提供了认证.授权.加密和会话管理等核心安全功能. shiro组件识别 1.在访问及登 ...