ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
記事のバージョン: GitHub.com

必須ステータスチェックについて

必須ステータスチェックにより、コラボレータが保護されたブランチに変更を加える前に、すべての必須 CI テストにパスしていることが保証されます。

保護されたブランチは、GitHub Free のパブリックリポジトリ、GitHub Pro のパブリックおよびプライベートリポジトリ、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server で利用できます。詳細は「GitHub の製品」を参照してください。

リポジトリでブランチの保護を強制した場合、必須ステータスチェックをセットアップできます。 詳細は「保護されたブランチを設定する」および「必須ステータスチェックを有効にする」を参照してください。必須 ステータスチェックは、Check または Status にすることができます。 詳しい情報についてはステータスチェックについてを参照してください。

必須ステータスチェックを有効化すると、保護されたブランチへのブランチのマージは、すべての必須ステータスチェックにパスするまでできません。 コミットは、すべての必須のステータスチェックをパスした後に、他のブランチへプッシュしてからマージするか、保護されたブランチへ直接プッシュしなければなりません。

保護されたブランチのマージ

注釈: リポジトリへの書き込み権限があるユーザまたはインテグレーションなら誰でも、リポジトリのステータスチェックを任意のステータスに設定できます。 GitHub は、チェックの作者が、特定の名前でチェックを作成したり、既存のステータスを変更したりする権限を持っているかを確認しません。 プルリクエストをマージする前に、マージボックスに挙げられている各ステータスの作者が、意図するものであるかを確認する必要があります。

同じ名前の Check と Status を持っており、その名前を必須ステータスチェックとして選択した場合、Check と Status はどちらも必須になります。 詳しい情報についてはGitHub 開発者ドキュメンテーション中のチェックを参照してください。

必須ステータスチェックをセットアップした場合、ブランチはマージする前にベースブランチに対して最新になっていなければなりません。 これによって、ブランチがベースブランチからの最新のコードでテストされたことが保証されます。 ブランチが古い場合、ベースブランチをブランチにマージする必要があります。

メモ: Git rebase を用いてブランチをベースブランチに対して最新にすることもできます。

古くなったブランチ

必須ステータスチェックにすべてパスするまでは、ローカルでの変更を保護されたブランチにプッシュすることはできません。 その代わりに、以下のようなエラーメッセージが返されます:

remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Required status check "ci-build" is failing

メモ: 最新で必須のステータスチェックをパスしたプルリクエストは、ローカルでマージしてから保護されたブランチにプッシュできます。 これはマージコミット自体でステータスチェックを実行せずに行えます。

リポジトリの管理者は、必須のステータスチェックが失敗したりペンディングになっていたりしても、保護されたブランチをマージできます。 管理者をステータスチェック必須の対象とすることができます。

保護されたブランチの管理者によるマージ

管理者はまた、ブランチがベースブランチに対して古くなっていたとしても保護されたブランチをマージできます。

マージに先立ってブランチがベースブランチに対して最新になっているようにしたいかどうかによって、ステータスチェックを緩めたり厳密にしたりセットアップできます。

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください