保護されたブランチと必須のステータスチェックの設定
ブランチの操作を制限するために保護されたブランチを有効化できます。また、ブランチがプルリクエストでマージされる前、あるいはローカルブランチへのコミットが保護されたリモートブランチへプッシュされる前に、必須のステータスチェックを強制することができます。
ここには以下の内容があります:
リポジトリに対する管理者権限があるユーザなら誰でも、ブランチ制限を有効化できます。
リポジトリで保護されたブランチを有効化する
-
GitHub Enterpriseで、リポジトリのメインページにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。
-
左のメニューでBranches(ブランチ)をクリックしてください。
-
[Protected Branches(保護されたブランチ)] の下で、保護のマークをしたいブランチをドロップダウンメニューから選択してください。
-
Protect this branch(このブランチを保護)を選択してください。
-
[Save changes] をクリックします。
必須ステータスチェックのタイプ
必須ステータスチェックのタイプ | 設定 | マージの要件 | 留意点 |
---|---|---|---|
Strict | [ Require branches to be up-to-date before merging ] チェックボックスにチェックする | マージ前、ブランチは、base ブランチとの関係で 最新でなければならない 。 | これは、必須ステータスチェックのデフォルト動作です。 他のコラボレーターが、保護された base ブランチにプルリクエストをマージした後に、あなたは head ブランチをアップデートする必要が出てくる可能性があるため、追加のビルドが必要になるかもしれません。 |
Loose | [ Require branches to be up-to-date before merging ] チェックボックスにチェック しない | マージ前、ブランチは base ブランチとの関係で 最新でなくてもよい 。 | 他のコラボレーターがプルリクエストをマージした後に head ブランチをアップデートする必要はないことから、必要となるビルドは少なくなります。 base ブランチと競合する変更がある場合、ブランチをマージした後のステータスチェックは失敗する可能性があります。 |
無効 | [ Require status checks to pass before merging ] チェックボックスにチェック しない | ブランチのマージについての制限はない | 必須ステータスチェックが有効化されていない場合、base ブランチにあわせてアップデートされているかどうかに関わらず、コラボレーターはいつでもブランチをマージできます。 このことで、変更の競合が発生する可能性が高まります。 |
必須ステータスチェックを有効にする
-
GitHub Enterpriseで、リポジトリのメインページにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。
-
左のメニューでBranches(ブランチ)をクリックしてください。
-
[Protected Branches] の下で、必須のステータスチェックのマークをしたいブランチをドロップダウンメニューから選択します。
-
[Require status checks to pass before merging] を選択します。
-
使用可能なステータスチェックのリストから、必須としたいものを選択します。
-
オプションとして、[Include administrators] を選択します。 これで、設定されたすべての制約がリポジトリ管理者に強制されます。
-
オプションとして、[Require branches to be up to date before merging] の選択を解除します。 選択すると、ベースブランチ上でブランチが最新のコードでテストされるようにできます。
-
Restrict who can push to this branch(このブランチにプッシュできる人を制限)を選択することもできます。
-
保護されたブランチにプッシュできる権限を持つユーザまたは Teamを検索し、選択します。
-
[Save changes] をクリックします。
Tip: 必須ステータスチェックが有効化されているベースブランチにプルリクエストをマージするには、ベースブランチに対するプルリクエストの head ブランチは最新になっていなければなりません。