🔂
シンプルなgithubのブランチ保護ルールの設定
普段、開発を1~3人の少人数ですることが多いので、簡素なブランチ保護ルールの設定を
自分用にまとめる。
適宜、各々の環境に合わせて変更してください。
前提
-
feature/issue-xxx
ブランチで開発を行う -
develop
ブランチはデプロイすると開発サーバーに反映される -
main
ブランチはデプロイされると本番サーバーに反映される -
feature/issue-xxx
→develop
にPRを行う -
develop
→main
にPRを行う -
develop
をデフォルトブランチにする(誤ってmain
にマージされるのを防ぐため)
手順1 (defaultブランチを設定)
-
settings
で、defaultブランチをdevelop
に設定する - 事前に
develop
ブランチは作成する必要あり
これで、PRを作成するとdevelopと紐づくことになる
手順2 (ruleset作成画面へ移動)
-
settings
のBranch protection rules
で、「Add Branch ruleset」を押す
手順3 (developブランチのルール)
-
Ruleset Name
は、「Develop Branch Protection」に設定(何でもいい) -
Enforcement status
は「Active」 -
Target branches
は「develop」 -
Branch rules
1つめは「Restrict deletions(削除制限)」にチェック -
Branch rules
2つめは「Block force pushes(フォースプッシュ禁止)」にチェック -
Branch rules
3つめは「Require a pull request before merging」にチェック。「Required approvalsは0人」「Allowed merge methodsは全部」
で、「Save Changes」を押す。
削除とフォースプッシュさせない。PRを必須にする。
レビュー人数0人でデプロイしたい時もあるので、approvalsは0人。
直プッシュ出来なくなるので安心です。(たまに間違ってやっちゃうので)
手順4 (mainブランチのルール)
-
Ruleset Name
は、「Main Branch Protection」に設定(何でもいい) - その他は、
develop
をmain
に置き換えて設定してください - あとは手順3と同じ
1つのルール内で、「develop」「main」の設定をしてもいいですが、
ルールが異なる場合もあるので、分けて運用した方がいいです。
(mainは厳しめ、developは緩め)など。
手順5 (PR)
例えば、GitHub CLI
を使っている時、
develop
へのPRは、
gh pr create
ですが、
main
へのPRは、
gh pr create --base main
となります(default branchを変えているため)。
余談
mainにマージ後のこのバナーは消せないらしいです。
issue上でも議論になってました。
宣伝
Next.jsを使ったフロントエンド開発などやってます。
お仕事のご依頼など、はこちらから!
Discussion