개발

pre-commit

pastime 2023. 2. 20. 23:47
728x90

pre-commit이란?

  • git-hook을 사용하여 커밋전에 미리 지정된 일련의 작업들을 실행하여 코드 품질을 높이기 위한 도구입니다.
    이를 사용하면 코드 커밋 전에 코드 스타일, 문법 검사, 포맷 등의 규칙을 적용하고, 리팩토링 등의 작업을
    자동화하여 일관성을 유지하고 에러를 줄일 수 있다.

 


설치

pip install pre-commit

 

.pre-commit-config.yaml 

파일에 관련 설정들을 입력해주면 된다.

repos:
  - repo: https://github.com/ambv/black
    rev: '23.1.0'
    hooks:
      - id: black
        language_version: python3.8
  - repo: https://github.com/pycqa/isort
    rev: '5.12.0'
    hooks:
      - id: isort

  - repo: local
    hooks:
      - id: pytest-check
        name: pytest-check
        entry: pytest -s
        language: system
        types: [python]
        verbose: true
  • black
    코드 포맷, 스타일 통일
  • isort
    import 등을 정렬
  • pytest
    테스트 코드 동작
    verbose는 print문을 보기위한 옵션 

 

테스트를 위한 명령어

 pre-commit run

 

yaml 파일의 rev 버전 최신으로 업데이트 하는 명령어

pre-commit autoupdate

 

 

설치를 하여 git에 반영하기 위한 명령어

pre-commit install

 

 

https://pre-commit.com/

 

728x90