Skip to content

GitHub hooks

Git에서는 어떤 이벤트가 생겼을 때 자동으로 특정 스크립트를 실행하도록 할 수 있다. 이 훅은 클라이언트 훅과 서버 훅으로 나눌 수 있는데, 클라이언트 훅은 커밋이나 Merge 할 때 실행되고 서버 훅은 Push 할 때 서버에서 실행된다.

프로젝트의 .git/hooks 폴더에 들어가서 해당 훅의 이름을 파일명으로 쉘스크립트를 작성하면, 해당 훅이 특정 상황에 자동으로 실행된다.

image

분류에 따른 훅은 아래 표와 같다.​

Commit workflow hook

설명
pre-commitcommit 을 실행하기 전에 실행
prepare-commit-msgcommit 메시지를 생성하고 편집기를 실행하기 전에 실행
commit-msgcommit 메시지를 완성한 후 commit 을 최종 완료하기 전에 실행
post-commitcommit 을 완료한 후 실행

Email workflow hook

설명
applypatch-msggit am 명령 실행 시 가장 먼저 실행
pre-applypatchpatch 적용 후 실행하며, patch 를 중단시킬 수 있음
post-applypatchgit am 명령에서 마지막으로 실행하며, patch 를 중단시킬 수 없음

기타

설명
pre-rebaseRebase 하기 전에 실행
post-rewritegit commit –amend, git rebase 와 같이 커밋을 변경하는 명령을 실행한 후 실행
post-mergeMerge 가 끝나고 나서 실행
pre-pushgit push 명령 실행 시 동작하며 리모트 정보를 업데이트 하고 난 후 리모트로 데이터를 전송하기 전에 실행. push 를 중단시킬 수 있음