git commit -m 提交时报错husky pre-commit (node v12.18.2)

git commit -m ""提交时报错husky > pre-commit (node v12.18.2)

husky > pre-commit (node v12.18.2)
Stashing changes... [started]
Stashing changes... [skipped]
鈫?No partially staged files found...
Running linters... [started]
Running tasks for src/**/*.{js,vue} [started]
eslint --fix [started]
eslint --fix [completed]
git add [started]
git add [completed]
Running tasks for src/**/*.{js,vue} [completed]
Running linters... [completed]
[ysxmmy 7f9cc10] 鐩存挱钀ラ攢鏍峰紡淇敼
 3 files changed, 22 insertions(+), 4 deletions(-)

解决办法(绕过husky检查):

git commit -m "备注" --no-verify

原因:

现在最流行的版本管理工具非git莫属,而良好的代码规范有助于项目的维护,为了防止一些不规范的代码 commit并push到远端,我们可以在git命令执行前用一些钩子来检测并阻止。现在大前端主要有两种git钩子插件:husky(jquery与next.js都在用),pre-commit(antd在用)。

主要是因为:husky能够防止不规范代码被commit、push、merge等等。

或者你可以安装husky

npm install husky --save-dev

然后编辑package.json文件


{
  "scripts": {
    "precommit": "webpack  --config ./web/webpack.config.js",
    "...": "..."
  }
}

当你git commit的时候,将会现先执行 precommit里的脚本,没有问题了再提交。

还可以安装pre-commit

npm install pre-commit --save-dev

编辑package.json文件


"scripts": {
    "test": "echo \"Error: I SHOULD FAIL LOLOLOLOLOL \" && exit 1",
    "foo": "echo \"fooo\" && exit 0",
    "bar": "echo \"bar\" && exit 0"
  },
  "pre-commit": [
    "foo",
    "bar",
    "test"
	]

配置好后,执行git commit命令,它将会依次执行foo、bar、test来检测完善代码。

上一篇:SElinux解决web网站无法访问


下一篇:用魔法打败魔法:前端代码规范化