2023. 2. 10. 23:43ㆍDEV
안녕하세요.
이번 포스팅에서는 husky를 이용해서 git에 commit을 하거나 push 등을 관리하는 방법에 대해서 알아보겠습니다.
husky에 대한 자세한 설명은 husky 공식 페이지를 참고해 주세요.
Husky - Git hooks
typicode.github.io
먼저 husky를 설치하는 방법에 대해서 알아보겠습니다.
간단하게 아래의 명령어를 통해 설치를 할 수 있습니다.
$ npx husky init && yarn
위의 명령어를 실행을 하면 .husky 폴더가 생긴 것을 볼 수 있습니다.
그리고 package.json에 "prepare": "husky install" 가 추가된 것을 볼 수 있습니다.
여기까지가 초기 설치가 끝입니다.
다음으로 husky에 새로운 git hook을 추가해 보겠습니다.
$ npx husky add .husky/[hook] '[execute]'
위의 명령어에서 hook의 부분에 git hook을 입력을 하고 execute에 해당 git hook이 발생을 할 때 실행할 내용을 입력을 하면 됩니다.
예로 commit을 할 때 eslint를 이용해서 eslint에 맞게 코드를 수정하고 commit을 하도록 해보겠습니다.
$ npx husky add .husky/pre-commit "npx eslint '**/*.{ts,tsx}' --ext .ts,.tsx --fix"
위의 명령어를 실행을 하면 .husky/pre-commit 파일 안에 npx eslint '**/*.{ts,tsx}' --ext .ts,.tsx --fix 가 추가된 것을 확인할 수 있습니다.
추가로 commitlint를 이용해서 같이 작업을 하는 사람들과 commit 메세지 형식을 통일해서 사용을 할 수도 있습니다.
commitlint - Lint commit messages
commitlint.js.org
commitlint를 설치를 하고 config 파일을 생성해 주겠습니다.
$ sudo npm install -g @commitlint/cli @commitlint/config-conventional
$ echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
그리고 husky에 commit-msg를 추가해 주도록 하겠습니다.
$ npx husky add .husky/commit-msg "npx commitlint --edit $1"
기본적으로 [타입]: [내용]으로 커밋 메세지를 생성하도록 설정이 되어 있습니다.
타입은 build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test 설정이 되어 있습니다.
조금 더 상세한 설명은 commitlint 공식 페이지를 봐주시면 감사하겠습니다.(아직 기본 지식이 많이 부족하여 나중에 조금 더 쌓이게 되면 추가로 작성을 하도록 하겠습니다.)
혹시라도 부족하거나 잘못된 내용이 있다면 댓글 달아주시면 보완을 하도록 하겠습니다.
여기까지 부족한 글 읽어 주셔서 감사합니다.💛
'DEV' 카테고리의 다른 글
리눅스 명령어 (0) | 2023.02.01 |
---|---|
2022년 어느 개발자의 회고 (0) | 2023.01.30 |
2021년 어느 개발자의 첫 회고 (0) | 2021.12.31 |