一、问题
git commit 报错:No staged files match any configured task.
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
[34m→[39m No staged files match any configured task.
⧗ input: feat: XXX
✖ subject may not be empty [subject-empty]
✖ type may not be empty [type-empty]
✖ found 2 problems, 0 warnings
ⓘ Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint
husky - commit-msg hook exited with code 1 (error)
二、解决
这就涉及到 git hooks
了,熟悉的小伙伴自不用多说,不熟悉的可以看一下官方文档:Git - Git 钩子
如果报错中有 husky
、commitlint
这样的关键字眼,那就是前端项目中使用了这两种 npm
插件,husky
的配置文件在如下截图位置:
- 最粗暴的解决方式是使用
#
注释掉最后一行(不建议,急用临时提交可行)
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx --no -- commitlint --edit ${1}
若是使用 JetBrains公司的系列产品时(
WebStrom
/PhpStrom
/IDEA
…),可以:去掉勾选(不限前端项目)
- 检查
package.json
和node_modules
该依赖是否安装:
{
"devDependencies": {
"@commitlint/cli": "^17.4.4",
"@commitlint/config-conventional": "^17.4.4",
"husky": "^8.0.3",
},
}
我这里最终发现问题就出现在这里(
package.json
在某次代码合并中被不知名小可爱覆盖。。。刚好缺了commitlint
)
- 检查提交信息是否符合规范:【笔记】项目优化代码提交规范 —— commitlint+husky
若是内网开发,规范可见源码:文章来源:https://www.toymoban.com/news/detail-698289.html
node_modules\@commitlint\config-conventional\index.js
- 检查所有配置之后,确定没问题的话,那么删除
node_modules
,然后重新npm i
试试
over文章来源地址https://www.toymoban.com/news/detail-698289.html
三、拓展学习
到了这里,关于【已解决】使用 husky、commitlint 后 git commit 报错:No staged files match any configured task.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!