search
LoginSignup
111

posted at

updated at

Githubでブランチ保護設定した時の作業メモ

概要

ブランチの運用周りの整理をすることになって,
今まであんまり意識してなかったので,メモを残しておく

手順

ブランチ保護の設定画面を開く

  1. リポジトリトップのSettings image.png
  2. SettingsのメニューからBranches image.png
  3. Branch protection rulesAdd rules image.png

設定画面

image.png

Branch name parttern

赤枠の部分 Branch name pattern...あれ?
参考にした記事を見るとブランチ選択してぽちぽちって感じだったのに
最近変わったっぽい

パターンマッチ使えそう....!!(期待大)

公式ドキュメント
やっぱり使えるみたい🤪

※ここで feature/* みたいに指定すると作業ブランチすらpushできなくなるので注意

Rule settings

Protect matching branches

パターンに当てはまるブランチ名を強制pushや,削除されないように保護してくれる
※この設定は必ず入ります

Require pull request reviews before merging

パターンにマッチするブランチに対してマージする前に,プルリクエストでレビューを受けることを必須にする設定。
この設定を入れるとプルリクが承認(Approve)されるまではマージできなくなる

またチェックを入れると以下のように項目が展開される

image.png

  • Required approving reviews
    • approveの最低限の数を設定する(例:2に設定したら最低2人に承認を得る必要がある)
  • Dismiss stale pull request approvals when new commits are pushed
    • 承認後に新たなcommitがpushされた場合は承認が自動的に取り消される
  • Require review from Code Owners
    • コードオーナーのレビューを必須にする設定=>参考資料
  • Restrict who can dismiss pull request reviews
    • プルリクのレビューを却下できる人,チームを指定できる
Require status checks to pass before merging

CIなどのサービスを連携している場合の設定。
CIなどの実行が成功しないとマージできないようにできる

チェックを入れると以下のように展開する

image.png

  • Require branches to be up to date before merging
    • リポジトリに何かしらのサービスを連携させているとここに表示され,サービスごとに保護の条件に含めるか選べる
Require signed commits

署名済みコミットを必須にする設定
署名がないとマージすることができなくなる

Include administrators

管理者もこのブランチ保護の制限の対象に含めるか
チェックを入れると管理者も同様にマージできなくなります

Restrict who can push to matching branches

パターンにマッチしたブランチにプッシュできる人を制限できる。

チェックを入れると以下のように展開する

image.png

展開されたフォームから許可する人,またはチーム名を入力して選択する

設定値

結果↓のような感じにまとまりました

image.png

ブランチのパターン指定についてはブランチの運用次第で変わってくるのでどれがベストプラクティスとかなさそうですが↓を設定しました

  • master もしくは main
    • まぁこれは絶対
  • release/*
    • リリースブランチ系も当然
  • develop/*
    • developブランチも同じ設定で運用上保護しました

参考資料

[GitHub] ブランチの保護設定を活用しよう 【レビューが通るまでマージさせんぞ】

おわり

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
111