Git 提交信息规范

一、为什么需要制定提交规范?

在团队协作开发时,每个人提交代码时都会写 commit message。

每个人都有自己的书写风格,可以说是五花八门,十分不利于阅读和维护。

一般来说,大厂都有一套的自己的提交规范,尤其是在一些大型开源项目中,commit message 都是十分一致的。

因此,我们需要制定统一标准,促使团队形成一致的代码提交风格,更好的提高工作效率,成为一名有追求的工程师。

二、采用哪种规范?

采用Angular的git commit 规范,基本项目都在采用这套规范。

三、有哪些知名开源项目在用这个规范?

1.Angular项目

项目github地址:

https://github.com/angular/angular

2.Vue项目

项目github地址:

https://github.com/vuejs/vue

等等…
https://cdn.nlark.com/yuque/0/2019/png/349761/1558075634841-3aff09f6-08d1-4907-938f-f01e17e0e05b.png
四、规范具体介绍

Commit Message 格式:每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。

<type>(<scope>): <subject>

<空行>

<body>

<空行>

<footer>

其中,Header 是必需的,Body 和 Footer 可以省略。

Header :

Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。

1.type

feat:新增功能;

fix:修复bug;

docs:修改文档;

refactor:代码重构,未新增任何功能和修复任何bug;

build:改变构建流程,新增依赖库、工具等(例如webpack修改);

style:仅仅修改了空格、缩进等,不改变代码逻辑;

perf:改善性能和体现的修改;

chore:非src和test的修改;

test:测试用例的修改;

ci:自动化流程配置修改;

revert:回滚到上一个版本;

2.scope

用于说明 commit 影响的范围,比如数据层、控制层、视图层、包名、文件名等等。

3.subject

是 commit 目的的简短描述,不超过50个字符,结尾不加句号。

Body :

Body 部分是对本次 commit 的详细描述,应该说明代码变动的动机,以及与以前行为的对比。

Footer :

Footer有两种情况

1.是否有重大的改变(是否有突破性的变化)

框架式改变,或者跟上一版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。

2.这一变化是否影响到任何尚未解决的问题(关闭issue)

可以填写fix #1 等于关闭问题1 或者 使用Closes #1,关闭多个issue使用fix #1,#2,#3 逗号分割,关闭了三个issue。

五、用工具(框架)帮助我们实现这个规范

如果手动去实现这个规范,每次提交信息都要排好版,格式化,那将是一件灾难性的事件。

所以我们采用能帮我们实现这个规范的工具(框架):

commitizen

github地址:https://github.com/commitizen/cz-cli

全局性安装此工具(框架):

npm install commitizen -g

然后,在项目目录里,运行下面的命令,使其支持 Angular 的 Commit message 格式(如果项目里面已经存在无需执行此命令):

commitizen init cz-conventional-changelog --save --save-exact

之前使用git commit提交信息,现在使用git cz命令
​image.png​
选择一个type,进入下一步填写信息
​image.png​
填写完毕后提示是否有突破性的改变的说明
​image.png​
为了测试,选择y
​image.png​
进入下一步提示是否有对issue进行解决
​image.png​
如果这次commit有对提出的issue进行修复,选择y,然后填写 fix #1 比如 关闭问题1 仓库那边会自动关闭这个issue。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值