使用pre-commit检查代码风格

安装pre-commit

pip install pre-commit

配置文件指定使用的hooks

在git项目根目录创建如下内容的配置文件: .pre-commit-config.yaml 。

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.3.0
    hooks:
    - id: check-yaml
    - id: check-json
    - id: end-of-file-fixer
    - id: trailing-whitespace
    - id: requirements-txt-fixer

  - repo: https://gitee.com/mirrors/black
    rev: 19.3b0
    hooks:
    - id: black
      args:
        - --line-length=120 #设置代码行最大长度

  - repo: https://gitee.com/mirrors_PyCQA/flake8.git
    rev: 3.8.4
    hooks:
    - id: flake8
      args:
      - --max-line-length=120 #设置代码行最大长度
      - --extend-ignore=E1,E203,E722,E402,F401,F403,F405 #设置忽略的警告代码
      #- --max-complexity=12   # 设置代码复杂度
      exclude: ^.*test/
      additional_dependencies:
        - "pep8-naming"

安装hooks

pre-commit install

这样在git commit 的时候会自动执行配置文件中的hooks,检查代码风格是否符合规范。也可以手动执行pre-commit run --all-files进行代码风格检查。

文档

pre-commit

black

flake8

flake8简明中文参考博文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当你在终端输入git commit -m "XXX"提交代码时,如果遇到husky > pre-commit的问题,这是由于pre-commit文件导致的提交失败。pre-commit文件是.git文件夹下的一个文件,它是pre-commit(客户端)钩子,会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则会报错。解决这个问题有以下三种方案:\[1\]\[2\]\[3\] 1. 卸载husky。可以在项目的package.json文件中删除devDependencies节点下的husky库,然后重新运行npm i命令,或者直接在项目根目录下执行npm uninstall husky --save命令。 2. 找到项目中的.git文件夹,进入hooks文件夹,找到pre-commit文件,将其删除。这样就能成功提交代码了。 3. 使用souceTree等工具提交代码时,可以检查代码风格是否符合规则,如果不符合则进行相应的修改。 #### 引用[.reference_title] - *1* [git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)的原因和一些小...](https://blog.csdn.net/CJamenc/article/details/111316791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Git提交代码报错husky 」 pre-commit](https://blog.csdn.net/qq_35695023/article/details/114022989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [git commit提交时报错husky > pre-commit (node v14.19.3)](https://blog.csdn.net/qq_24518001/article/details/128162152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值