- 사진
- SQL
- 우리fisa
- 대만
- 오사카
- 제주도
- Python
- 시청
- 축복이
- 카페
- 우리에프아이에스
- k-디지털트레이닝
- 17-55
- ai_엔지니어링
- 건담
- 우리fis아카데미
- 글로벌소프트웨어캠퍼스
- 전시
- 맛집
- 대만여행
- 여행
- 도쿄
- CS231n
- 650d
- 전주
- fdr-x3000
- 축복렌즈
- 수요미식회
- 해리포터
- 군산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Today
- Total
브렌쏭의 Veritas_Garage
Husky..husky...허스키.. & Git hook 본문
https://typicode.github.io/husky/#/
대체 허스키가 뭘까 하고 허스키를 찾으니 Git Hook 이라고 한다. 근데 깃 훅은 또 뭐란말인가.
일단 설명을 읽어봤다.
Husky improves your commits and more 🐶 woof!
커밋과 그 이상을 개선시켜 준다고 한다. 난 개선을 원한 적이 없지만 일단 계속 읽어봤다.
You can use it to lint your commit messages, run tests, lint code, etc... when you commit or push. Husky supports all Git hooks.
어어 뭐야 이거, 끝없는 하이퍼링크 지옥인가? 하고 다시 나온 링크에 가봤다. 이번엔 훅에 대한 정의가 있는 듯하다.
Hooks are programs you can place in a hooks directory to trigger actions at certain points in git’s execution. Hooks that don’t have the executable bit set are ignored.
깃을 실행할 때, 자동으로 연계된 이벤트로 뭐든지 실행시킬 수 있는 단축어나 명령 자동화 같은 놈인가 보다. 그리고 executable bit set이 없는 훅은 무시된다고 한다.
여전히 모르겠다.
그러나 여러 훅들의 이름을 보니 대충 실행 시점을 알겠다. 커밋을 실행시키면 그 앞이나 뒤, 머지를 한다면 또 그 앞이나 뒤 등 모든 깃의 실행 명령어 전후 시점에 지정한 액션을 자동으로 실행시켜주는 모양이다. 그것이 Git에서의 Hook이다. 라고 하고 일단은 넘어가자
1. husky
그렇다면 수많은 종류의 훅이 있을 것이고, 미친듯이 많은 훅 애드온들이 있을 것이 자명하다. 다시 허스키의 기능으로 돌아가 봤다.
Features
- Zero dependencies and lightweight (6 kB)
- Powered by modern new Git feature (core.hooksPath)
- Follows npm and Yarn best practices regarding autoinstall
- User-friendly messages
- Optional install
- Like husky 4, supports
- macOS, Linux and Windows
- Git GUIs
- Custom directories
- Monorepos
유저 프렌들리 하다는 것을 보니 네이티브 깃훅은 몹시 언프렌들리 한 모양이다. 개발자가 리누스 토르발스니까 그럴만도 하지.
그럼 이놈도 애드온 중 하나인가? 하고 봤더니 네이티브 깃 훅을 잘 쓸 수 있게 도와주는 매개체 느낌이다.
Modern native git hooks made easy
뭔가 그 이상을 해준다고 해놓고는 거짓말이었나.
그런데 찾아보니 깃 훅 이라는 것을 검색해보니 뭔가 구미가 당기는 정보들이 나오기 시작했다.
- 프로젝트에 이미지를 추가하고 커밋하면 자동으로 이미지를 최적화 해주는 스크립트
- 이슈 기반 버전 관리를 할 때, 브랜치에 적어 놓은 이슈 번호를 자동으로 긁어와 커밋 메시지에 추가해주는 스크립트
- 푸시나 풀을 할때 지정한 eslint 를 적용한다던가
- ....etc
.....대단한 기능들 그 이상이었다.
허스키는 이런 기능들을 일일히 깃의 깃훅 경로로 찾아가 직접 쓰는 수고로움을 덜어주고, 말 그대로 깃훅 관리를 위한 툴이라고 보면 되겠다.
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
스크랩 / 크롤링 (0) | 2022.03.24 |
---|---|
Docker (0) | 2022.03.23 |
프로젝트와 package.json (0) | 2022.03.23 |
ESlint & Prettier : 코드의 퀄리티와 스타일 (0) | 2022.03.22 |
타입스크립트, MS의 모빌슈츠는 괴물인가? (0) | 2022.03.22 |
자바스크립트, Array.prototype.sort() (0) | 2022.03.21 |
문자열 조작: String.Methods[Day06] (0) | 2022.03.21 |