Git hook으로 단위 테스트에 통과하지 못한 코드가 실수로 커밋되는 일을 방지해보자.

  1. .git/hooks/에 들어가면 hook을 실행할 수 있는 여러 이벤트에 대한 스크립트들이 만들어져 있다.

  2. 그 중에서 pre-commit.sample이라는 파일을 열어서 아래와 같이 수정한다.

     #!/bin/sh
     set -e
     ######## RUN UNIT TEST HOOK START ########
     git stash -q --keep-index
    
     ./gradlew test
    
     RESULT=$?
    
     git stash pop -q
    
     exit $RESULT
     ######## RUN UNIT TEST HOOK END ########
  3. 파일명을 pre-commit으로 바꿔서 저장한다. (확장자명인 .sample을 지워야 한다)

  4. 적용 끝~

테스트 돌려보는걸 까먹고 임시로 바꾼 코드가 깃허브에 올라가는 경우가 종종 있어서 hook 설정 방법을 찾아봤다.

나 자신을 불신할수록 코딩하기가 점점 편해지는듯?

References

https://git-scm.com/docs/githooks