Git

[pre-commit] black, ruff 적용하기

scone 2024. 1. 29. 20:06
  • pip install pre-commit

pre-commit 설치

 

  • sample hook 생성
pre-commit sample-config > .pre-commit-config.yaml

 

  • sample hook customize
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
    -   id: trailing-whitespace
    -   id: check-yaml
    -   id: check-json

-   repo: https://github.com/psf/black
    rev: 24.1.1
    hooks:
    -   id: black
        args: ["-l", "79"]
        name: black
        description: "Black: The uncompromising Python code formatter"
        entry: black
        language: python
        minimum_pre_commit_version: 2.9.2
        require_serial: true
        types_or: [python, pyi]

-   repo: https://github.com/charliermarsh/ruff-pre-commit
    rev: 'v0.1.14'
    hooks:
    -   id: ruff

black에 args로 -l 79를 넣어줬습니다. (length 79자 이내)

버전은 auto update 해줄 것이기 때문에 대략적으로 적어줍니다.

  • auto update 
pre-commit autoupdate

자동 버전 세팅

 

  • pre-commit install

pre-commit install을 해 줍니다.

 

  • commit

첫 커밋 후 시간이 걸린다고 합니다.

 

적용

이후 팀원들의 환경에서도 pre-commit이 적용되겠끔 하기 위해서는 각자의 로컬에서 몇가지 단계를 더 거쳐야 합니다.

  • ruff와 black 설치
pip3 install ruff black
  • pre-commit 설치
pip install pre-commit
  • 훅 설치
pre-commit install

 

 

팀원들에게 잘 안내 해야겠습니다

 

 

 

 

 

 

 

https://velog.io/@qlgks1/Python-flake8-Black-%EB%8F%84%EC%9E%85-clean-code-%EC%8B%A4%EC%B2%9C%ED%95%98%EA%B8%B0

 

https://velog.io/@ozoooooh/Python-Linter%EB%A1%9C-Ruff%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0feat.-pre-commit