pre-commit在python项目中的使用

2019-12-10  本文已影响0人  程序_影子

git挂钩简介

1.png

pre-commit框架【官方文档】

简介:pre-commit是一种用于管理和维护多种语言编写的预提交hook的框架。它是预提交挂钩的多语言包管理器。我们可以指定所需的挂钩列表,并且在每次提交之前预先提交管理以任何语言编写的任何挂钩的安装和执行。

使用方法:

一、安装pre-commit

  pip install pre-commit

进入虚拟环境,通过pip进行安装

二、在你的python项目的根目录下新建.pre-commit-config.yaml文件,并在里面配置你所需要的验证规则。

default_stages: [commit]
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.1.0
    hooks:
    - id: check-case-conflict
  - repo: https://github.com/pre-commit/mirrors-autopep8
    rev: v1.4.4
    hooks:
    - id: autopep8
      args: [-i, --global-config=.flake8, -v]
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.4.0
    hooks:
    - id: flake8

所支持其他的【hooks】

image

三、安装git hook脚本

pre-commit install

执行结果:

image

会在.git/hooks里生成pre-commit文件

四、运行所配置的所有规则,使其起作用

  pre-commit run --all-files

执行结果:

4.png

五、使用

pre-commitgit add提交之后,然后执行git commit时执行,如果脚步执行没有报错就继续提交,否则就驳回提交的操作,从而实现对代码的检查、优化代码格式等任务。

5.png
上一篇 下一篇

猜你喜欢

热点阅读