Husky

Junyoung Song·2022년 3월 23일
0

Git Hooks이 뭔가요?

Git hooks란 특정한 사건이 발생했을때 작동하도록 해둔 스크립트를 말합니다. 특정한 사건은 커밋 이전이 될수도 있고 커밋 이후가 될수도있습니다. 이러한 기능은 개발자 특정한 코드를 작동시키거나 자동화시켜 특정한 기준을 적용시킬수 있도록 해줍니다.

Husky란?

Husky는 Git hooks를 쉽게 다룰 수 있도록 해주는 도구입니다. Husky는 우리가 특정한 명령어를 package.json 파일에 있는 객체에 추가하는것 만으로 Husky가 어느 시점에 스크립트를 실행해 줄것입니다.

Husky를 적용하는 방법

yarn add husky
혹은
npm install husky

위와 같은 명령어를 터미널에 입력함으로써 Husky를 다운 받을 수 있습니다. Husky를 설치한 이후 package.json 에 다음과 같은 객체 추가해준다면 커밋 이전에 lint staged가 실행되도록 할 수 있습니다.

{
    "husky": {
        "hooks": {
            "pre-commit": "lint-staged",
            "pre-push": "npm test"
        }
    },
    "lint-staged": {
        "*.js": [
            "eslint --fix"
            "prettier --write"
        ]
    }
}

husky 설정

  • pre-commit: 커밋 메시지를 작성하기 전에 실행
  • prepare-commit-msg: 커밋 메시지 생성 후 편집기 실행전에 실행하기
  • commit-msg : 커밋 메시지와 관련된 명령을 넣을 때 실행하기
  • post-commit : 커밋이 완료되면 실행하기
  • pre-push : 푸시가 실행되기 전에 실행하기

참조: https://www.freecodecamp.org/news/how-to-add-commit-hooks-to-git-with-husky-to-automate-code-tasks/
https://defineall.tistory.com/667

0개의 댓글