- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 네트워크
- 알고리즘
- map
- error
- React
- deep dive
- git
- 에러처리
- 그림으로 배우는 http&network
- 웹
- 비동기
- 백준
- async
- C++
- JavaScript
- 모던 자바스크립트 deep dive
- 이터러블
- js
- es6
- html
- 백준 실버
- http
- Angular
- Java Script
- 모던 자바스크립트
- get
- 상태관리
- 프론트엔드
- git error
- 자바스크립트
sharingStorage
git error 해결법 - husky > pre-commit hook failed (add --no-verify to bypass) 본문
git error 해결법 - husky > pre-commit hook failed (add --no-verify to bypass)
Anstrengung 2022. 3. 3. 15:48git commit -m "message" 명령어 사용시 error 발생
error code :
husky > pre-commit hook failed (add --no-verify to bypass)
원인:
원인을 짚기 전에 husky와 git hook이 뭔지 알아야 합니다.
husky는 프론트엔드 개발 환경에서 git hook을 손쉽게 제어하도록 도와주는 npm 모듈입니다.
만약 프로젝트가 모듈 의존성을 관리하기 위해 npm을 사용하고 있다면 git hooks를 적용하게 끔 강제하기 위해서 사용하는 좋은 선택지가 될 수 있습니다.
git hook이란 말그대로 갈고리 같은 것인데요. git을 쓰다가 특정 이벤트 (커밋, 푸쉬)가 벌어졌을 때 그 순간에 갈고리를 걸어서 특정 스크립트가 실행되도록 도와주는 것이 git hook입니다.
크게 클라이언트 훅과 서버 훅으로 나뉘는데 클라이언트 훅은 커밋, Merge가 발생하거나 push가 발생하기 전 클라이언트에서 실행하는 훅이고, 서버 훅은 git repository로 push가 발생했을 때 서버에서 실행하는 훅입니다.
클라이언트 훅은 세가지 훅으로 분류할 수 있고 git commit 명령으로 커밋을 할 때 실행하는 훅인 커밋 워크플로 훅, git am 명령으로 이메일을 통해 patch 파일을 적용할 때 실행하는 훅인 이메일 워크플로 훅, Rebase, Merge, Push 와 같은 이벤트를 실행할 때 실행하는 훅을 기타 훅 이라고 합니다.
분류에 따른 훅을 아래 표를 보고 참고 할 수 있습니다.
커밋 워크플로 훅 |
pre-commit | commit 을 실행하기 전에 실행 |
prepare-commit-msg | commit 메시지를 생성하고 편집기를 실행하기 전에 실행 | |
commit-msg | commit 메시지를 완성한 후 commit 을 최종 완료하기 전에 실행 | |
post-commit | commit 을 완료한 후 실행 | |
이메일 워크플로 훅 |
applypatch-msg | git am 명령 실행 시 가장 먼저 실행 |
pre-applypatch | patch 적용 후 실행하며, patch 를 중단시킬 수 있음 | |
post-applypatch | git am 명령에서 마지막으로 실행하며, patch 를 중단시킬 수 없음 | |
기타 훅 | pre-rebase | Rebase 하기 전에 실행 |
post-rewrite | git commit –amend, git rebase 와 같이 커밋을 변경하는 명령을 실행한 후 실행 | |
post-merge | Merge 가 끝나고 나서 실행 | |
pre-push | git push 명령 실행 시 동작하며 리모트 정보를 업데이트 하고 난 후 리모트로 데이터를 전송하기 전에 실행. push 를 중단시킬 수 있음 |
해결:
① 간단하고 일시적인 방법으로는
git commit -m "message" --no-verify
위와 같은 명령어를 사용하면 되지만 이것은 hook을 무시하는 명령어 이기에 규칙을 어길 수도 있습니다.
② .git/hooks폴더를 삭제한 다음 npm install 명령어를 통해 husky를 다시 설치합니다.
이것 역시 husky생성 파일 및 .git/hook/ 파일과 충돌할 가능성 있습니다
Reference
'git' 카테고리의 다른 글
git 폴더명/파일명 대소문자 변경 한번에 처리하기 (0) | 2024.07.18 |
---|---|
git add, commit, push 명령어로 추가한 내용 취소 (0) | 2022.03.21 |
git이란? (0) | 2022.02.24 |
git 간단한 명령어 정리 (0) | 2022.02.24 |
git error 해결법 - fatal: You are not currently on a branch.To push the history leading to the current (detached HEAD)state now, use (0) | 2022.02.22 |