Git에는 commit
, merge
, push
등 어떤 이벤트가 발생했을 때
자동으로 특정 스크립트를 실행하는 Git Hooks라는 기능이 있습니다.
Git 저장소에 기본적으로 존재하는 .git
디렉토리 내부에 hooks
라는 디렉토리가 존재하는데,
해당 디렉토리 안에는 아래와 같이 이벤트 종류별로 스크립트 예제가 존재합니다.
$ ls .git/hooks
applypatch-msg.sample prepare-commit-msg.sample
commit-msg.sample pre-push.sample
fsmonitor-watchman.sample pre-rebase.sample
post-update.sample pre-receive.sample
pre-applypatch.sample push-to-checkout.sample
pre-commit.sample update.sample
pre-merge-commit.sample
여기서는 commit
할 때 자동으로 코드 스타일을 검사해 주는 것이 목표이기에,
커밋 메시지가 작성되기 전에 호출되는 pre-commit
훅을 사용할 것입니다.
역시나 이번에도 업계 선배님들께서 앞서 길을 번지르르하게 닦아 놓으셨습니다!
훅 이름과 동일한 pre-commit
이라는 유용한 도구가 이미 개발되어 있으므로,
우리는 감사한 마음을 가지고 사용하는 일만 남았습니다.
코드 스타일 검사에 이용할 코드 포매터는 각자 원하는 것을 사용하면 됩니다.
여기서는 clang-format
을 사용하는 경우를 기준으로 진행해 보도록 하겠습니다.
macOS:
$ brew install pre-commit
$ brew install clang-format
Linux: