🐶️ husky가 뭔데?
husky 는 Git Hooks 를 보다 쉽게 적용할 수 있는 npm 모듈이라고 한다. Git Hooks은 Git 과 관련한 어떤 이벤트가 발생했을 때 특정 스크립트를 실행할 수 있도록 하는 기능이라고 한다. 크게 클라이언트 훅 과 서버 훅 으로 나뉘는데 클라이언트 훅 은 커밋, Merge 가 발생하거나 push 가 발생하기 전 클라이언트에서 실행하는 훅이다. 반면 서버 훅 은 Git repository 로 push 가 발생했을 때 서버에서 실행하는 훅이라고 한다.
Git Hooks 에 대해 자세히 알지 못하더라도 commit, push 정책을 관리하고 공유할 수 있다고 한다.
husky 설치
$ npm install --save-dev husky
.huskyrc
{
"hooks": {
"pre-commit": "echo 'Hello Gabia, woof!'"
}
}
이 방법을 통해 사용자는 프로젝트별로 commit, push 등 정책을 관리하고 공유할 수 있다고 한다.
또한 작업자가 의존 모듈을 설치하는 것만으로 husky 가 적용된다. 더 이상 설치 스크립트를 실행하지 않거나 옵션을 빠뜨려서 Git Hooks 를 적용하지 못하는 상황은 발생하지 않는다.
왜 이걸 쓰는걸까
다음의 이유들은 우리가 협업을 하고 있다면 고통을 줄 수 있다. 가령
- 코딩 스타일 안 따르기
- 테스트 코드 작성 안하기
- 테스트 실패하기
- 코드 커버리지 낮추기
- master 에 직접 밀어넣기
- 그 밖에 기상천외한 일들...
이러한 이유로 우리는 지켜지지 않는 것들에 대하여 고통받고 힘들어하며 실수에 빠질 수 있다. 이럴때 저런 점들을 강제할 수 있는 무언가가 있다면 어떻게 될 것인가? 그렇다면 우리가 실수로부터 조금더 자유로워질 수도 있을 것이고 고통받는 점도 덜 할 수 있을 것이다.
다양한 방법이 있지만, 만일 팀이 Git 을 사용하고 있다면 Git Hooks 를 활용하여 쉽고 간단하게 정책을 강제할 수 있기에 우리는 이 방법으로 Git Hooks를 이용하고 husky를 이용하는 것이다.
참조 : https://github.com/gabia/git-hooks-with-husky
GitHub - gabia/git-hooks-with-husky: Git Hook with Husky
Git Hook with Husky. Contribute to gabia/git-hooks-with-husky development by creating an account on GitHub.
github.com
'📖 TIL > Tool' 카테고리의 다른 글
[Docker] 도커란 무엇인가 (0) | 2022.05.16 |
---|---|
[🧹] ESLint와 Prettier에 대해 알아보자 (0) | 2022.02.20 |
[🔄️] Git과 GitHub (0) | 2022.02.13 |