DevOps
[GIT] pre-commit을 이용한 코드 스타일 관리
Dan-k
2023. 4. 21. 12:54
반응형
pre-commit
pre-commit은 Git 저장소에서 코드를 커밋하기 전에 코드의 품질과 스타일을 검사하기 위한 도구입니다. 이를 통해 코드의 일관성과 가독성을 높이고 버그를 예방할 수 있습니다. pre-commit은 다양한 언어와 도구를 지원하며, 사용자가 직접 검사 도구를 선택하고 구성할 수 있습니다.
pre-commit 설치 방법
pre-commit을 사용하려면, 우선 설치가 필요합니다. pre-commit은 Python 패키지로 제공되며, pip를 사용하여 설치할 수 있습니다.
pip install pre-commit
pre-commit을 사용하여 코드 품질 검사하기
pre-commit을 사용하여 코드 품질 검사를 수행하려면, 먼저 .pre-commit-config.yaml 파일을 프로젝트 루트 디렉토리에 생성해야 합니다. 이 파일에는 어떤 검사 도구를 사용할 것인지와 검사할 파일 경로 등의 정보를 설정합니다.
다음은 .pre-commit-config.yaml 파일의 예시입니다.
repos:
- repo: https://github.com/pre-commit/mirrors-black
rev: v21.5b1
hooks:
- id: black
language_version: python3.9
args: [--target-version=py39]
exclude: ^(\.|build)
- repo: https://github.com/pre-commit/mirrors-isort
rev: v5.9.2
hooks:
- id: isort
args: [--profile=black]
exclude: ^(\.|build)
- repo: https://github.com/pre-commit/mirrors-flake8
rev: v3.9.2
hooks:
- id: flake8
exclude: ^(\.|build)
- repo: https://github.com/pre-commit/mirrors-pylint
rev: v2.9.6
hooks:
- id: pylint
args: [--rcfile=.pylintrc]
exclude: ^(\.|build)
이 설정 파일을 저장한 후, pre-commit을 실행하면 설정한 검사도구를 사용하여 코드 스타일 검사를 수행합니다.
pre-commit run --all-files
pre-commit 훅 커스터 마이징을 위한 종류
- 검사 도구 선택하기: pre-commit은 다양한 검사 도구를 지원합니다. 이 중에서도 가장 많이 사용되는 몇 가지는 다음과 같습니다.
- flake8: Python 코드를 검사합니다.
- black: Python 코드를 자동으로 포맷합니다.
- isort: Python 코드를 자동으로 정렬합니다.
- eslint: JavaScript 코드를 검사합니다.
- prettier: JavaScript, CSS, HTML 코드를 자동으로 포맷합니다.
결론
pre-commit을 사용하면 코드 품질을 유지하고, 개발자의 실수를 방지할 수 있으며, 개발 효율을 높일 수 있습니다. 또한, 검사 도구를 커스터마이징하여 프로젝트에 적합한 검사를 수행할 수 있습니다.
pre-commit은 다양한 검사 도구를 지원하며, 쉽게 사용할 수 있습니다.
pre-commit
pre-commit.com
728x90
반응형
LIST