git commit husky报错

报错信息


➜  guchejia_web_app git:(5.1.1) ✗ git commit -am "[feat]: 修改弹窗"

Warning: Setting commit-msg script in package.json > scripts will be deprecated
Please move it to husky.hooks in package.json, a .huskyrc file, or a husky.config.js file
Or run ./node_modules/.bin/husky-upgrade for automatic update

See https://github.com/typicode/husky for usage

husky > commit-msg (node v8.9.0)
⧗   input: [feat]: 修改弹窗
✖   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 failed (add --no-verify to bypass)
➜  guchejia_web_app git:(uicheck) ✗ git status
On branch uicheck
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   npm-shrinkwrap.json
        modified:   src/page/weibaochaxun/app.tsx
        modified:   src/page/weibaochaxun/components/dialog/index.tsx
        modified:   src/page/weibaochaxun/components/dialog/style.scss
        modified:   src/page/weibaochaxun/components/payResultToast/index.tsx
        modified:   src/page/weibaochaxun/components/payResultToast/style.scss
        modified:   src/page/weibaochaxun/pages/tcDetail/index.tsx
        modified:   src/page/weibaochaxun/weibaochaxun.html

➜  guchejia_web_app git:(uicheck) ✗ git push origin uicheck 
warning: redirecting to http://***/guchejia_web_app.git/
Everything up-to-date

原因

  1. 在终端输入git commit -am “**”,提交代码时
  2. 会触发pre-commit的钩子,他会在Git提交信息之前先做代码风格的检测
  3. 如果不符合相应规则,会报错
  4. 它的检测规则就是根据.git/hooks/pre-commit文件里面的相关定义

解决方案

  1. 提交代码commit时,忽略pre-commit校验的钩子,加上参数–no-verify

    ➜  guchejia_web_app git:(5.1.1) ✗ git commit --no-verify -am "[feat]:修改维保查询弹窗"
    [5.1.1 da8c2c0] [feat]:修改维保查询弹窗
     8 files changed, 5657 insertions(+), 5612 deletions(-)
  2. 删除.git/hooks下的的pre-commit文件,重新commit

    ➜  guchejia_web_app git:(5.1.1) ll .git/hooks 
    total 264
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 applypatch-msg
    -rwxr-xr-x  1 a96  staff   478B 10 10  2019 applypatch-msg.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 commit-msg
    -rwxr-xr-x  1 a96  staff   896B 10 10  2019 commit-msg.sample
    -rwxr-xr-x  1 a96  staff   3.2K 10 10  2019 fsmonitor-watchman.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-applypatch
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-checkout
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-commit
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-merge
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-receive
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-rewrite
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 post-update
    -rwxr-xr-x  1 a96  staff   189B 10 10  2019 post-update.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 pre-applypatch
    -rwxr-xr-x  1 a96  staff   424B 10 10  2019 pre-applypatch.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 pre-auto-gc
    -rwxrwxrwx  1 a96  staff    88B 10  9 15:13 pre-commit
    -rw-r--r--  1 a96  staff   106B 10  9 15:13 pre-commit.old
    -rwxr-xr-x  1 a96  staff   1.6K 10 10  2019 pre-commit.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 pre-merge-commit
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 pre-push
    -rwxr-xr-x  1 a96  staff   1.3K 10 10  2019 pre-push.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 pre-rebase
    -rwxr-xr-x  1 a96  staff   4.8K 10 10  2019 pre-rebase.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 pre-receive
    -rwxr-xr-x  1 a96  staff   544B 10 10  2019 pre-receive.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 prepare-commit-msg
    -rwxr-xr-x  1 a96  staff   1.5K 10 10  2019 prepare-commit-msg.sample
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 push-to-checkout
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 sendemail-validate
    -rwxr-xr-x  1 a96  staff   1.4K 10  9 15:13 update
    -rwxr-xr-x  1 a96  staff   3.5K 10 10  2019 update.sample
  1. 卸载husky

总结:以上几种方法都是在commit提交时忽略代码规则校验。建议在codeing的过程中可以经常运行一下代码校验修整命令,不要把校验都放在提交的环节


   转载规则


《git commit husky报错》 浅夏晴空 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Android实现0.5像素线条 Android实现0.5像素线条
由于安卓手机无法识别border: 0.5px,因此我们要用0.5px的话必须要借助css3中的-webkit-transform:scale缩放来实现。 原理:将伪元素的宽设为200%,height设为1px通过-webkit-trans
2020-12-02
下一篇 
JQuery源码解析 JQuery源码解析
github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解(https://github.com/chokcoco/jQuery-) 。 整体架构 不同于 jQuery 代码各个模块细节
2020-11-03
  目录