검사 도구를 공유하는 단위
검사 스크립트를 프로젝트마다 복사하면 버전과 설정을 맞추기 어렵다. Pre-commit은 훅을 제공하는 저장소와 리비전, 실행할 훅의 식별자를 설정에 기록한다. 이를 통해 어떤 검사를 어떤 버전으로 사용할지 프로젝트 안에서 공유한다.
언어별 실행 환경 관리
프로젝트 언어와 검사 도구의 구현 언어가 같을 필요는 없다. Pre-commit은 지원하는 언어의 훅을 설치하고 실행할 환경을 관리한다. 처음 실행할 때 필요한 환경을 준비하므로 초기 실행에는 추가 시간이 걸릴 수 있고 준비된 환경은 다시 사용한다.
변경 파일과 전체 검사
Git 훅에서는 일반적으로 변경된 파일을 대상으로 실행하며 필요하면 전체 파일이나 특정 훅을 직접 실행할 수 있다. 파일 패턴과 유형, 제외 조건과 적용 단계를 설정해 범위를 조절한다. 훅 프레임워크의 설치와 실제 검사 도구가 수행하는 검증 내용은 서로 구분해야 한다.
관련 문서
Lefthook / Husky / Lint-staged / Black 코드 포매터 / Codespell