Skip to main content

사전 리시브 후크 작업하기

리포지토리 정책을 적용하고 GitHub Enterprise Server에서 사전 수신 후크를 사용하여 비밀 또는 잘못된 커밋과 같은 문제를 방지합니다.

사전 수신 후크는 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 사이트 관리자는 사전 수신 후크를 생성하고 삭제합니다. 또한 조직 또는 리포지토리 관리자가 특정 범위에 대해 후크를 사용하거나 사용하지 않도록 설정할 수 있습니다. 사전 수신 후크를 사용하여 정책 적용을(를) 참조하세요.