尝试提交代码到 Git 仓库时,commit-msg
钩子触发了 commitlint
校验,并因为提交信息不符合规范而失败。具体来说,提交信息缺少了必要的 type
和 subject
部分,这违反了 commitlint
的配置规则。
在 commitlint
中,通常期望提交信息遵循一定的格式,例如 <type>(<scope>): <subject>
,其中 type
是必须的,表示提交的类型(如 feat, fix, docs 等),scope
是可选的,表示影响的范围(如某个模块或文件),subject
也是必须的,简要描述本次提交的变更。
为了解决这个问题,需要按照 commitlint
的要求重新编写你的提交信息。例如,如果你的提交是关于添加一个新的首页功能,你可以这样写:
git commit -m "feat(home): 添加首页功能"
这里,feat
表示这是一个新功能(feature)的提交,home
是影响的范围(即首页),添加首页功能
是提交的具体描述。
如果不想每次都手动编写这样的提交信息,可以使用一些工具或命令来帮助你快速生成符合规范的提交信息。例如,git cz
(如果你安装了 commitizen
和相应的适配器,如 cz-conventional-changelog
)或 npx git-cz
(如果你没有全局安装 commitizen
)可以让你通过命令行界面选择类型、范围等,并填写描述,然后自动生成符合规范的提交信息。
另外,如果你正在使用的是一个已有的项目,并且这个项目已经配置了 husky
和 commitlint
,那么你应该查看项目的 commitlint.config.js
文件或 .commitlintrc.js
文件,了解具体的配置规则和可用的 type
类型。这些文件通常位于项目的根目录下。