Skip to main content

Pre-receive フックを使って作業する

"Pre-receive フック" は、コミットがリポジトリにプッシュされる前に、コントリビューションに対するルールを強制します。

Pre-receive フックは、コントリビューションがリポジトリまたは Organization の方針を確実に満たすために、リポジトリにプッシュされたコードに対してテストを実行します。 コミット内容がテストに合格すると、プッシュはリポジトリに受け入れられます。 コミット内容がテストに合格しなかった場合、プッシュは受け入れられません。

プッシュが受け入れられない場合は、失敗した pre-receive フックに対応するエラーメッセージが表示されます。

$ 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: failed with exit status 1
remote: error: rejecting all pushes
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to ''

失敗した pre-receive フックのエラーメッセージ

GitHub Enterprise Server サイト管理者は、Organization またはリポジトリの pre-receive フックを作成および削除することができます。また、Organization またはリポジトリ管理者は、pre-receive フックを有効または無効にすることができます。 詳細については、受信前フックを使用してポリシーを適用する方法に関するページを参照してください。