commitizen-规范commit-message

摘要:
关闭Issue如果当前Commit是针对某个Issue的提交,那么久可以在Footer中关闭这个Issue:Closes#234

安装指南

  1. 安装commitizen

sudo npm install -g commitizen

  1. 配置

cd到.git所在目录

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

  1. 使用

git cz命令来取代git commit

其他安装方式:

$ npm install -g commitizen
$ npm i -g cz-conventional-changelog

异常情况

有可能提示你缺少package.json

package.json的下载地址

配置第二个项目

当我们配置第二个项目的时候我们只需要进入到对应的项目目录下,输入如下的命令commitizen init cz-conventional-changelog --force
我们就可以使用git cz命令了

commitizen详解

Message 格式

一般来说,Commit Message 应包含三部分内容:Header、Body、Footer

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

Header

Header部分应只包含一行,包括三个字段:type、scope和subject

  • type type用于说明Commit的类型,包含一下7种类型
    feat:新功能(feature)
    fix:修补bug
    docs:文档(documentation)
    style: 格式(不影响代码运行的变动)
    refactor:重构(即不是新增功能,也不是修改bug的代码变动)
    test:增加测试
    chore:构建过程或辅助工具的变动
  • scope
    scope用于说明本次Commit所影响的范围,比如controller、user或者README,视项目的不同而不同
  • subject

    subject是本次Commit目的的简短描述,一般不要超过50个字符

    以动词开头,使用第一人称现在时,比如change,而不是changed或changes
    第一个字母小写
    结尾不加句号(.)

Body

Body是对本地提交的一个详细描述,下面是一个示例

More detailed explanatory text, if necessary.  Wrap it to 
about 72 characters or so. 
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Use a hanging indent

Footer

Footer只用于两种情况

  • 不兼容改动

如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。

  • 关闭Issue

如果当前Commit是针对某个Issue的提交,那么久可以在Footer中关闭这个Issue:Closes #234

免责声明:文章转载自《commitizen-规范commit-message》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据库粗浅了解JQueryEasyUI学习笔记(十)datagrid 添加、修改、删除下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

SVN查看项目修改记录及修改内容

工具/原材料svn I,查看修改记录1,选择要查看的文件夹,打开后在空白处单击鼠标右键。3当然,有时我们想查看单个文件的记录。同样的原则适用于此文件。右键单击以选择“查看日志”。SVN查看所有日志提交记录1。默认情况下,SVN显示上周的文件提交和修改记录。如何查看更长时间的日志记录?...

cocosCreator中Protobuf的简单使用

CocosCreatorwebStorm或VSCode安装node.js下载protobufjs6.8.6步骤:...

SecureCRT优化调整、永久设置、保护眼睛和配色方案

您可以根据个人喜好调整字体大小。我已经习惯了4号字体。到目前为止,SecureCRT优化已经完成。...

页面加载时自动执行(加载)js的几种方法

Js调用onload方法window.onload=function(){func1();func2();func3();}二、JQ方法1.整个页面的document全部加载完成以后执行。不幸的这种方式不仅要求页面的DOMtree全部加载完成,而且要求所有的外部图片和资源全部加载完成。更不幸的是,如果外部资源,例如图片需要很长时间来加载,那么这个js方法执行...

ES基本查询总结

ES与数据库比较查询操作Elasticsearch中当我们设置Mapping完毕后,就可以按照设定的方式导入数据。以下内容的原文需要参考ES官方文档1、结构化检索针对字段类型:日期、时间、数字类型,以及精确的文本匹配。结构化检索特点:*1)结构化查询,我们得到的结果总是非是即否,要么存于集合之中,要么存在集合之外。term查询是简单的,它接受一个字段名以及我...

rabbitmq 命令行与控制台

命令行和控制台rabbitmqctlstop_应用程序关闭应用程序rabbitsqctlstart_应用程序打开应用程序rabbitmqctlstatus节点状态rabbitcqctlad_用户用户名密码:添加用户rabbittqctllist_Users列出所有用户rabbit...