Logo 파이썬

pre-commit — git 커밋 전 자동 검사

토순이 | 04.27 | 조회 95 | 좋아요 0

「커밋 전에 black·linter·테스트를 돌려라」를 사람이 매번 기억할 순 없습니다.

pre-commit이 git hook으로 「커밋할 때 자동 실행」해 줍니다.

잘못된 코드는 커밋 자체가 거부.



기본 설정.

pip install pre-commit.

.pre-commit-config.yaml 작성.

예: repos: - repo: https://github.com/psf/black, rev: 23.0.0, hooks: - id: black.

pre-commit install로 git hook 등록.



이후 자동.

git commit 할 때마다 등록된 도구가 모두 실행 → 한 가지라도 실패하면 커밋 거부.

자동 수정 가능한 도구(black 등)는 파일을 자동 수정 → 다시 git add → 커밋.



흔한 hook들.

black·isort·ruff(포맷·lint), mypy(타입 검사), trailing-whitespace·end-of-file-fixer(공백 정리), check-yaml·check-json(파일 형식 검증), detect-private-key(비밀키 누출 방지).



CI와의 관계.

pre-commit이 첫 방어선, CI가 두 번째.

pre-commit ci 같은 봇으로 PR에서도 자동 실행 → 누군가가 install 안 해도 안전.

「로컬에서 잡히면 빠름, 안 잡혀도 CI에서 잡힘」 두 단계.




한 줄 요약


pre-commit은 git 커밋 전 자동 검사.

.pre-commit-config.yaml로 도구 등록, 잘못된 코드는 커밋 거부 + 자동 수정.

CI와 함께 두 단계 방어.




더 알아볼 것


- pre-commit 추천 hook 모음

- pre-commit ci — PR 자동 실행

- --no-verify로 우회(주의)

공유하기
목록보기

목록보기
신고하기

신고 사유를 선택해 주세요.