🌿 중급 개발도구
pre-commit hook이 뭔가요?
쉽게 이해하기
공항 보안검색대처럼, 비행기 타기 전에 검사를 통과해야 탑승할 수 있잖아요. pre-commit hook도 커밋 전에 코드 검사를 통과해야 커밋이 허용되는 '보안검색대' 같은 거예요.
핵심 정리
커밋하기 전에 자동으로 코드 검사를 실행해서 문제를 미리 잡아주는 Git 기능이예요.
자세히 알아보기
pre-commit hook은 Git에서 커밋을 실행하기 직전에 자동으로 돌아가는 스크립트예요. 린터, 포매터, 테스트 등을 자동으로 실행해서 문제가 있으면 커밋을 막아줘요.
실무에서는 'console.log를 남긴 채로 커밋', '포맷팅이 안 된 코드 커밋', '테스트 실패한 코드 커밋' 같은 실수를 방지하는 데 써요. 예를 들어 Prettier로 코드 자동 정렬, ESLint로 에러 체크, jest로 테스트 실행을 pre-commit에 걸어두면 팀 전체가 일정한 코드 품질을 유지할 수 있어요.
.git/hooks/pre-commit 파일에 쉘 스크립트를 작성하거나, husky나 lint-staged 같은 도구를 쓰면 더 쉽게 설정할 수 있어요. lint-staged는 변경된 파일에만 린터를 돌려서 속도를 높여주고, husky는 package.json에서 hook을 관리할 수 있게 해줘요.
처음엔 귀찮게 느껴질 수 있지만, 실수를 줄이고 코드 리뷰 시간을 아껴주기 때문에 대부분의 프로젝트에서 필수로 설정하는 편이에요.