사전 수신 후크는 Git이 푸시된 커밋을 GitHub Enterprise Server 수락하기 전에 실행되는 스크립트입니다. 코드가 리포지토리에 들어가는 시점에 리포지토리, 조직 또는 엔터프라이즈 정책을 적용합니다.
사전 수신 후크는 푸시가 필요한 규칙을 따르는지 여부를 확인할 수 있습니다. 예를 들어 후크는 비밀을 포함하는 푸시를 차단하거나, 비표준 커밋 메시지를 사용하거나, 보호된 파일을 변경할 수 있습니다. 푸시가 검사를 통과하면 Git에서 이를 수락합니다. 푸시가 실패하면 Git에서 이를 거부하고 오류 메시지를 표시합니다.
푸시가 허용되지 않으면 실패한 사전 수신 후크에 대한 오류 메시지가 표시됩니다.
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 916 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: always_reject.sh: failed with exit status 1
remote: error: rejecting all pushes
To https://54.204.174.51/hodor/nope.git
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://54.204.174.51/hodor/nope.git'
변경 내용이 리포지토리에 도달하기 전에 규칙을 일관되게 적용하기 때문에 사전 수신 후크가 중요합니다. 이렇게 하면 수동 검토 부담이 줄어들고 정책 위반이 Git 기록에 저장되지 않도록 방지할 수 있습니다.
귀하의 GitHub Enterprise Server 사이트 관리자는 사전 수신 후크를 생성하고 삭제합니다. 또한 조직 또는 리포지토리 관리자가 특정 범위에 대해 후크를 사용하거나 사용하지 않도록 설정할 수 있습니다. 사전 수신 후크를 사용하여 정책 적용을(를) 참조하세요.