Husky를 사용하여 사전 커밋 및 사전 푸시 후크를 만드는 방법

자동화는 항상 좋지만 인지 부하를 줄이고 프로세스를 최적화할 때 굉장합니다.

내가 만들고 있는 worldwide community for houseplant lovers에 대해 많은 테스트를 코딩했지만 어떤 파이프라인이나 git hook에도 포함하지 않았습니다. 스포일러 경고. 며칠 후 나는 그들의 존재를 잊었고 이것은 좋지 않습니다 👎.

커밋을 생성하거나 원격 저장소에 변경 사항을 푸시하기 전에 "실행"을 자동화할 수 있습니다. 이는 코딩 시 인지 부하를 감소시켜 스트레스를 줄이고 집중력을 높인다는 점에서 좋습니다. 어떤 사람들은 git hooks을 로컬에서 사용하여 코드를 꾸미거나 linter를 실행합니다.

git을 버전 제어로 사용하는 경우 .git 폴더 안에 숨겨진 기본 후크가 있음을 알 수 있습니다(또는 아닐 수도 있으며 괜찮습니다). 프로젝트 루트에서 ls .git/hooks/를 실행하여 확인할 수 있습니다. 그렇게 하면 일부.sample 파일이 표시됩니다.

git hook을 사용하는 방법?



Node 환경에서 로컬로 git hook을 사용하는 가장 쉬운 방법은 husky 이라는 라이브러리를 사용하는 것입니다. 그것은 작은 구성으로 우리를 위해 git hooks를 처리합니다!

Husky로 사전 커밋 또는 사전 푸시를 생성하는 방법은 무엇입니까?



사용법은 매우 간단합니다. 패키지를 설치하고 일부 구성을 package.json에 추가하기만 하면 됩니다. 아무것도!

요구 사항


Husky 패키지 설치, 노드 버전>=10 및 Git 버전>= 2.13.0 .

허스키 설치 방법



프로덕션 요구 사항이 아니므로 Husky 환경에만 dev를 설치합니다. 다음 코드 줄을 실행하여 설치할 수 있습니다.
npm install husky --save-dev

package.json에 필요한 구성을 추가합니다.



프로젝트의 루트에 package.json이 있어야 합니다. 그것을 열고 JSON의 루트에 Husky 구성을 추가하십시오.

이 프로젝트에서는 pre-commitpre-push git hook에 테스트 실행만 추가했지만 Linting 규칙, 서식 지정 또는 원하는 대로 추가할 수 있습니다. 이제 git commit 또는 git push를 실행하려고 할 때마다 테스트가 실행됩니다. 아래 예 👇:



사전 커밋 또는 사전 푸시 git hook을 사용하는 방법은 무엇입니까?



커밋을 생성하는 것 외에는 특별한 작업을 수행할 필요가 없습니다! 다음을 실행하여 사용해 보세요.
git commit -m "Finally I'm executing tests on each commit"


발생할 수 있는 문제



As you can see in this thread 일부 사용자(나 포함)는 Husky 설치 후 후크가 작동하지 않습니다. 이를 해결하려면 git hooks 폴더를 제거하고 Husky를 제거한 다음 다시 설치하면 됩니다. 다음을 실행하여 이를 수행할 수 있습니다.

rm -rf .git/hooks/
npm uninstall husky
npm install --save-dev husky

그 후에는 모두 정상이어야 하며 테스트, 린터 또는 구성한 모든 것이 다음 git 커밋에서 실행되어야 합니다.

좋은 웹페이지 즐겨찾기