Skip to content
On this page

工程化规范化相关

alias

  • 描述 : 定义常用的 commit message 别名
  • 类型 : { [alias: string]: string }
  • 默认 : { fd: "docs: fix typos" }

TIP

更多用法和示例 ⇒ 更多小窍门

scopes

  • 描述 : 自定义选择 模块范围 命令行显示信息
  • 类型 : string[] | Array<{ name: string, value?: string }>
  • 默认 : []

TIP

如果你使用 commitlint 规则定义了 scope-enum,会自动引入。
⇒ 更多小窍门

scopeOverrides

  • 描述 : 自定义选择了特定类型覆盖模块范围 命令行显示信息
  • 类型 :
    { [type: string]: string[] | Array<{ name: string, value?: string }> } | undefined
  • 默认 : undefined
  • 例子 : scopeOverrides: { "test": ["e2eTest", "unitTest"] }
  • 使用 : 针对选择 特定 的 commit 类型 type 后选择模块范围时显示 自定义的模块范围选择

TIP

如果定义scopeOverrides 就要定义通用的 scopes

scopeFilters

  • 描述 : 根据 scope.value 过滤模块范围中的选项
  • 类型 : string[]
  • 默认 : [".DS_Store"]

enableMultipleScopes

  • 描述 : 是否开启在选择 模块范围 时使用多选模式
  • 类型 : boolean
  • 默认 : false

TIP

尝试运行命令 可在当前会话直接开启多选模式

  • 使用 Commitizen CLI: checkbox=1 cz
  • 使用 cz-git CLI: czg checkbox 示例与使用方式 ⇒ 查看小窍门

scopeEnumSeparator

  • 描述 : 在多选模式下 模块范围 之间的分隔符
  • 类型 : string
  • 默认 : ,

allowCustomScopes

  • 描述 : 是否在选择 模块范围 显示自定义选项(custom)
  • 类型 : boolean
  • 默认 : true
  • 使用 : 没有使用 commitlint并且想在选择中关闭自定义选项

TIP

会自动检测 commitlint 规则 scope-enum的定义是否严格,自动不显示。

allowEmptyScopes

  • 描述 : 是否在选择 模块范围 显示为空选项(empty)
  • 类型 : boolean
  • 默认 : true

TIP

会自动检测 commitlint 规则 scope-empty的定义是否严格,自动不显示。

markBreakingChangeMode

  • 描述 : 添加额外的问题重大变更(BREAKING CHANGES)提问,询问是否需要添加 "!" 标识于头部
  • 使用 : 当你想添加 ! 标识于头部,表明该 commit 为重大变更时,请使用该选项
  • 类型 : boolean
  • 默认 : false

TIP

更多用法与示例 ⇒ 查看小窍门

allowBreakingChanges

  • 描述 : 允许出现 重大变更(BREAKING CHANGES)的特定 type
  • 类型 : string[]
  • 默认 : ['feat', 'fix']

upperCaseSubject

  • 描述 : 是否自动将简短描述(subject)第一个字符进行大写处理
  • 类型 : boolean
  • 默认 : false

breaklineNumber

  • 描述 : 详细描述(body)和重大变更(BREAKING CHANGES)中根据字符超过该数值自动换行
  • 类型 : number
  • 默认 : 100
  • 使用 : 当没有使用 commitlint 并要使用规范化时

TIP

主要根据单词完整性进行换行
如果使用 commitlint 会自动读取 body-max-line-length 进行设置

breaklineChar

  • 描述 : 详细描述(body)和重大变更(BREAKING CHANGES)中换行字符
  • 类型 : string
  • 默认 : "|"

skipQuestions

  • 描述 : 自定义选择指定的问题不显示
  • 类型 : Array<"scope" | "body" | "breaking" | "footerPrefix" | "footer">
  • 默认 : []

issuePrefixs

  • 描述 : 自定义选择issue前缀
  • 类型 : Array<{ value: string, name: string }>
  • 默认 : [{ value: "closed", name: "closed: ISSUES has been processed" }]

TIP

国内用户如果使用 Gitee 作为项目管理,那么该工具可以很好
利用 commit message改变issue状态 ⇒ 查看小窍门

allowCustomIssuePrefixs

  • 描述 : 是否在选择 ISSUE 前缀 显示自定义选项(custom)
  • 类型 : boolean
  • 默认 : true

allowEmptyIssuePrefixs

  • 描述 : 是否在选择 ISSUE 前缀 显示为跳过选项(skip)
  • 类型 : boolean
  • 默认 : true

maxHeaderLength

  • 描述 : 定义commit message中的 header 长度, 给予在命令行中的校验信息
  • 类型 : number
  • 默认 : Infinity
  • 使用 : 当没有使用 commitlint 并要使用规范化时

TIP

如果使用 commitlint 会自动读取 header-max-length 进行设置给予在命令行中的提示

maxSubjectLength

  • 描述 : 定义commit message中的 subject 长度, 给予在命令行中的校验信息
  • 类型 : number
  • 默认 : Infinity
  • 使用 : 当没有使用 commitlint,并要使用规范化时

TIP

如果使用 commitlint 会自动读取 subject-max-length 进行设置给予在命令行中的提示

minSubjectLength

  • 描述 : 定义commit message中的 subject 长度, 给予在命令行中的校验信息
  • 类型 : number
  • 默认 : 0
  • 使用 : 当没有使用 commitlint,并要使用规范化时

TIP

如果使用 commitlint 会自动读取 subject-min-length 进行设置给予在命令行中的提示

useCommitSignGPG

  • 描述 : 使用 GPG 签名 commit message
  • 类型 : boolean
  • 默认 : false

TIP

  • 此 options 仅对 czg cz-git CLI 有效
  • 运行下列命令可 可直接在当前会话中开启使用 GPG 签名 commit message模式
    • cz-git CLI: czg gpg

关于 GPG 签名 commit message 的更多信息可查看: Zhengqbbb/cz-git#58

formatMessageCB

  • 描述 : 使用此回调函数可自定义最终的 message 格式以及输出
  • 类型 : (messageMod: CommitMessageOptions) => string
ts
interface CommitMessageOptions {
  type: string
  scope: string
  emoji: string
  markBreaking: string
  subject: string
  defaultHeader: string
  body: string
  breaking: string
  footer: string
  defaultMessage: string
}
interface CommitMessageOptions {
  type: string
  scope: string
  emoji: string
  markBreaking: string
  subject: string
  defaultHeader: string
  body: string
  breaking: string
  footer: string
  defaultMessage: string
}
  • 默认 : ({ defaultMessage }) => defaultMessage

我只是尽力将工具做得更好,如果可以的话欢迎给一个star ⭐