개발관련/Git

Git 커밋 후크 건너 뛰기

Rateye 2021. 11. 16. 10:35
728x90
반응형
질문 : Git 커밋 후크 건너 뛰기

Python 코드에서 인쇄 문을 찾는 git hook을보고 있습니다. print 문이 발견되면 git 커밋을 방지합니다.

이 후크를 재정의하고 싶습니다. 이렇게하려면 명령이 있다고 들었습니다. 나는 그것을 찾을 수 없었다. 이견있는 사람?

답변

아마도 ( git commit man page에서 ) :

git commit --no-verify

-n  
--no-verify

이 옵션은 pre-commit 및 commit-msg 후크를 우회합니다. githooks (5) 도 참조하십시오.

Blaise가 언급 했듯이 -n 은 특정 명령에 대해 다른 역할을 할 수 있습니다.
예를 들어 git push -n 은 실제로 드라 이런 푸시입니다.
git push --no-verify 만 후크를 건너 뜁니다.


참고 : Git 2.14.x / 2.15는 --no-verify 동작을 개선합니다.

Kevin Willford (``)의 commit 680ee55 (2017 년 8 월 14 일)를 참조하십시오.
(Merged by Junio C gitster - gitster-in commit c3e034f , 23 Aug 2017)

commit : pre-commit 후크가없는 경우 인덱스 삭제를 건너 뜁니다.

" git commit pre-commit 후크가 중간에 업데이트 한 경우 파일 시스템에서 다시 읽는 데 사용됩니다. pre-commit 후크를 실행하지 않는 것을 알 때 최적화되었습니다.


Davi Lima 는 댓글 에서 git cherry-pick 이 --no-verify를 지원 하지 않는다고 지적합니다.
따라서 cherry-pick이 pre-commit hook을 트리거하는 경우이 블로그 게시물 에서와 같이 git cherry-pick이 계속 진행되도록 해당 후크에 대해 어떻게 든 주석을 달거나 비활성화해야 할 수 있습니다.
병합 충돌 해결 후 git rebase --continue 경우에도 동일한 프로세스가 필요합니다.

출처 : https://stackoverflow.com/questions/7230820/skip-git-commit-hooks
728x90
반응형