type
status
date
slug
summary
tags
category
icon
password

Commit message 格式

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

Header

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

type

type用于说明 commit 的类别,只允许使用下面7个标识。
  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • perf:提高性能或优化用户体验的代码更改
  • test:增加测试
  • build:对构建系统或者外部依赖项进行了修改
  • ci:对CI配置文件或脚本进行了修改
  • chore:构建过程或辅助工具的变动
如果typefeatfix,则该 commit 将肯定出现在 Change log 之中。其他情况(docschorestylerefactortest)由你决定,要不要放入 Change log,建议是不要。

scope

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

subject

subject是 commit 目的的简短描述,不超过50个字符。

Body

Body 部分是对本次 commit 的详细描述,可以分成多行。下面是一个范例。
有两个注意点。
  1. 使用第一人称现在时,比如使用change而不是changedchanges
  1. 应该说明代码变动的动机,以及与以前行为的对比。

Footer

Footer 部分只用于两种情况。
  1. 不兼容变动
    1. 如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。
 
  1. 关闭 Issue
    1. 如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。
      也可以一次关闭多个 issue 。

工具

Commitizen是一个撰写合格 Commit message 的工具。
安装命令如下。
然后,在项目目录里,运行下面的命令,使其支持 Angular 的 Commit message 格式。
以后,凡是用到git commit命令,一律改为使用git cz。这时,就会出现选项,用来生成符合格式的 Commit message。
notion image
参考:
搭建AutoBangumi、Jellyfin、OneDrive实现全自动追番并且直链播放Docker构建多架构镜像
Loading...
Kougami
Kougami
Life Will Change
统计
文章数:
18
公告
てへぺりんこ