美文网首页
pre-commit在python项目中的使用

pre-commit在python项目中的使用

作者: 程序_影子 | 来源:发表于2019-12-10 09:50 被阅读0次

git挂钩简介

  • git hooks是一些自定义脚本,用于控制git的工作流程,分为客户端钩子和服务端钩子
  • 客户端钩子包括:pre-commoitprepare-commit-msgpost-commit等。主要用于控制客户端git的提交工作流。服务端钩子包括:pre-receivepost-receiveupdate,主要在服务端接收提交对象时、推送到服务器之前调用。
  • git hooks位于每个git项目下的隐藏文件.git/hooks文件夹里。进入文件夹会看到一些官方给的示例,它们都是以.sample结尾的文件。这些以.sample结尾的示例脚本是不会执行的,只有重命名后才会生效
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

相关文章

网友评论

      本文标题:pre-commit在python项目中的使用

      本文链接:https://www.haomeiwen.com/subject/pdpwgctx.html