[图片] 简介 多人协作的项目中,如果 Git 的提交说明精准,在后期协作以及 Bug 处理时会变得有据可查,项目的开发可以根据规范的提交说明快速生成开发日志,从而方便开发者或用户追踪项目的开发信息和功能特性。 结构说明 总体 Git提交说明可分为三个部分:Header、Body和Footer。结构如下 Head ..

mac 安装 Cz 工具以及使用介绍

简介

多人协作的项目中,如果 Git 的提交说明精准,在后期协作以及 Bug 处理时会变得有据可查,项目的开发可以根据规范的提交说明快速生成开发日志,从而方便开发者或用户追踪项目的开发信息和功能特性。

结构说明

总体

<Header>  <Body>  <Footer>

Header

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

type

描述
eat 新增一个功能
fix 修复一个 Bug
docs 文档变更
style 代码格式(不影响功能,例如空格、分号等格式修正)
refactor 代码重构
perf 改善性能
test 测试
build 变更项目构建或外部依赖(例如 scopes: webpack、gulp、NPM 等)
ci 更改持续集成软件的配置文件和 package 中的 scripts 命令,例如 scopes: Travis, Circle 等
chore 变更构建流程或辅助工具
revert 代码回退

scope

`scope`说明`commit`影响的范围。`scope`依据项目而定,例如在业务项目中可以依据菜单或者功能模块划分,如果是组件库开发,则可以依据组件划分。该值可以省略

subject

项目简短描述

Body

`commit`的详细描述,说明代码提交的详细说明。

Footer

1.如果代码的提交是**不兼容变更**或**关闭缺陷**,则`Footer`必需,否则可以省略.
2.当前代码与上一个版本不兼容,则`Footer`以**BREAKING CHANGE**开头,后面是对变动的描述、以及变动的理由和迁移方法
3.如果当前提交是针对特定的issue,那么可以在`Footer`部分填写需要关闭的单个 issue 或一系列issues

安装

使用 NPM 进行安装

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

写入配置

echo'{ "path": "cz-customizable" }'  > ~/.czrc

在 $HOME 下创建.cz-config.js 文件,内容如下

module.exports = {
  types: [
    {value: '特性',     name: '特性:    一个新的特性'},
    {value: '修复',      name: '修复:    修复一个Bug'},
    {value: '文档',     name: '文档:    变更的只有文档'},
    {value: '格式',    name: '格式:    空格, 分号等格式修复'},
    {value: '重构', name: '重构:    代码重构,注意和特性、修复区分开'},
    {value: '性能',     name: '性能:    提升性能'},
    {value: '测试',     name: '测试:    添加一个测试'},
    {value: '工具',    name: '工具:    开发工具变动(构建、脚手架工具等)'},
    {value: '回滚',   name: '回滚:    代码回退'}
    ],

  scopes: [{ name: '短信模块' }, { name: 'app模块' }, { name: '运营后台' }],

  allowTicketNumber: false,
  isTicketNumberRequired: false,
  ticketNumberPrefix: 'TICKET-',
  ticketNumberRegExp: '\\d{1,5}',

  // it needs to match the value for field type. Eg.: 'fix'
  /*
  scopeOverrides: {
    fix: [
      {name: 'merge'},
      {name: 'style'},
      {name: 'e2eTest'},
      {name: 'unitTest'}
    ]
  },
  */
  // override the messages, defaults are as follows
  messages: {
    type: '选择一种你的提交类型:',
    scope: '选择一个scope (可选):',
    // used if allowCustomScopes is true
    customScope: '自定义scope:',
    subject: '短说明:\n',
    body: '长说明,使用"|"换行(可选):\n',
    breaking: '非兼容性说明 (可选):\n',
    footer: '关联关闭的issue,例如:#31, #34(可选):\n',
    confirmCommit: '确定提交说明?'
  },
  allowCustomScopes: true,
  allowBreakingChanges: ['特性', '修复'],
  // skip any questions you want
  skipQuestions: ['body', 'footer'],

  // limit subject length
  subjectLimit: 100,
  // breaklineChar: '|', // It is supported for fields body and footer.
  // footerPrefix : 'ISSUES CLOSED:', // default value
};

使用方式

进入 Git 管理的目录
gitcz1.png

修改部分文件,执行 add

git add ./

使用 Git cz 替换 Git commit
gitcz2.png

根据提示选择选项
gitcz4.png

  • Cz
    1 引用
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    146 引用 • 259 回帖 • 727 关注
回帖
请输入回帖内容...