使用@commitlint/config-conventional时首次commit信息选哪种类型?
@commitlint/config-conventional 规范下首次提交Commit Message正确写法
首先明确Conventional Commits规范(@commitlint/config-conventional完全对齐该规则)中三个候选type的明确适用边界:
feat:仅用于提交新增的、面向终端用户可感知的功能特性,没有实际可交付功能的工程初始化类改动不适用该类型build:仅用于提交影响构建系统、外部依赖的变更,比如调整构建工具配置、升级生产依赖、修改CI构建脚本等,纯仓库初始化、基础工程文件提交不属于该类型范畴chore:用于所有不修改业务源码、无法归类到feat/fix/docs/style/refactor/test/build等明确分类的工程杂项改动,比如仓库初始化、配置调整、非核心文件增删等
正确选择逻辑
- 绝大多数常规场景:第一次提交仅包含初始化生成的仓库基础文件(比如
.gitignore、初始package.json、脚手架生成的空目录结构、基础工程配置,还没有实际可运行的业务功能),直接使用chore: first commit或者语义更清晰的chore: initialize repository完全符合规范要求,是最通用的正确写法。 - 特殊场景1:如果第一次提交就已经包含了可交付的最小可用功能(比如初始化完成后直接实现了核心功能的最小可运行版本),才可以使用
feat类型,示例:feat: initialize project with minimal runnable core feature - 特殊场景2:如果第一次提交仅包含构建链路相关配置(比如只提交了CI脚本、构建工具配置,没有其他业务代码和工程文件),才使用
build类型,示例:build: initialize project build pipeline
注意:不要为了图省事无差别使用
feat: first commit,不符合规范中feat类型的定义要求,会在严格校验规则下报错。
内容的提问来源于stack exchange,提问作者PirateApp
相关产品推荐
相关产品推荐

