仲灏小栈 仲灏小栈
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

仲灏

诚意, 正心, 格物, 致知
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Java

  • Docker

  • Jenkins

  • Nacos

  • SQL

  • Nginx

  • Windows

  • Linux

  • 虚拟机

  • Git

    • Git 实战使用
    • git flow 步骤解析
    • git 同步
    • git 提交信息规范
      • 前言
      • 规范内容
        • 举例:
      • 辅助规范插件
        • Commitizen
        • 使用
        • cz-customizable
        • 安装
        • 配置
        • 使用
        • 限制只能通过git cz指令提交
    • Git Hooks
    • gitignore
    • GitHub使用Action自动同步Gitee
  • 网络

  • 其他

  • 后端&运维
  • Git
仲灏
2022-02-24
目录

git 提交信息规范

# 前言

git commit -m "" 一千个人,就有一千条信息,可谓是五花八门,天马行空,博大精深。。。

# 规范内容

下面介绍的是用的比较多的一种提交规范,Google下 Angular团队规范延伸出的约定式提交(Conventional Commits specification)

https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines

https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#

Commit message的格式约定的规则总结如下:

位置 是否必须 实例
Header 必需
type 必需 feat: 新功能
fix: 错误修复
docs: 仅文档更改
style: 不影响代码含义的更改
(空格、格式、缺少分号等)
refactor: 既不修复 Bug 也不添加功能的代码更改
perf: 提高性能的代码更改
test: 添加缺少的测试
chore: 对生成过程或辅助工具的更改
和库如文档生成
revert: 还原到提交
WIP: 进行中工作'
scope 可选 $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, etc...
subject 必需
Body 可选
Footer 可选

翻译如下

<类型>[可选 范围]: <描述>

[可选 正文]

[可选 脚注]

1
2
3
4
5
6

可以得出简洁版:<类型>: <描述>

# 举例:

  • 简洁版

docs: 修改了登录授权的文档

  • 详细版
docs[登录授权]: 修改了登录授权的文档

将文档中的企业授权改为公司授权

第18个ISSUE
1
2
3
4
5

# 辅助规范插件

# Commitizen

使用 Commitizen 提交时,系统将提示您在提交时填写任何必需的提交字段。

GitHub:https://github.com/commitizen/cz-cli

# 使用

  • 安装 ( 我的是commitizen@4.2.4 )
npm install -g commitizen@4.2.4
1

# cz-customizable

# 安装

npm i cz-customizable@6.3.0 -D

# 配置

...
"config": {
  "commitizen": { // not needed for standlone usage
    "path": "node_modules/cz-customizable"
  }
}
1
2
3
4
5
6
  • 在您的主目录中创建一个名为 .cz-config.js 的文件(以下内容为我逐行翻译)

    • module.exports = {
        types: [
          { value: 'feat', name: 'feat:     新功能' },
          { value: 'fix', name: 'fix:      错误修复' },
          { value: 'docs', name: 'docs:     仅文档更改' },
          {
            value: 'style',
            name: 'style:    不影响代码含义的更改\n            (空格、格式、缺少分号等)'
          },
          {
            value: 'refactor',
            name: 'refactor: 既不修复 Bug 也不添加功能的代码更改'
          },
          {
            value: 'perf',
            name: 'perf:     提高性能的代码更改'
          },
          { value: 'test', name: 'test:     添加缺少的测试' },
          {
            value: 'chore',
            name: 'chore:    对生成过程或辅助工具的更改\n            和库,如文档生成'
          },
          { value: 'revert', name: 'revert:   还原到提交' },
          { value: 'WIP', name: 'WIP:      进行中工作' }
        ],
        messages: {
          type: "选择要提交的更改类型:",
          scope: '\n表示此更改的范围(可选):',
          // used if allowCustomScopes is true
          customScope: '表示此更改的范围:',
          subject: '写一个简短的, 命令式的更改时态描述:\n',
          body: '提供更改的较长描述(可选)。使用"|"换行:\n',
          breaking: '列出所有重大更改(可选):\n',
          footer: '列出此更改解决的任何问题(可选)。例如:31、#34:\n',
          confirmCommit: '是否确实要继续执行上述提交?'
        }
      }
      
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38

# 使用

  • 保存git add .

  • 提交代码: git cz 即可看到下方规范的commit message 各个部位的选择及其提示,如图:

    • image-20220225104937905
  • 做类似例子处理,如:

    • image-20220225105714744
  • 在git提交记录中也以看到:

    • image-20220225105911079

# 限制只能通过git cz指令提交

请看另一篇文章 git hooks

上次更新: 2022/06/05, 20:31:36
git 同步
Git Hooks

← git 同步 Git Hooks→

最近更新
01
vim日常使用记录
04-02
02
滑动窗口最大值
04-02
03
有效的字母异位词
04-02
更多文章>
Theme by Vdoing | Copyright © 2021-2025 izhaong | github | 蜀ICP备2021031194号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式