🌟
GitHubのPull RequestsのMergeを特定のブランチでのみSquash Mergeに強制する方法
前提となる状況
- developブランチへのマージは全てSquash Mergeにしたい
- developブランチ以外では通常のマージも使いたい
Merge方法の設定
リポジトリのSettingsからPull Requestsで使えるマージを選択できます。
今回は通常のマージとSquash Mergeを選択します。
ブランチルールの設定
Branch protection rulesの設定でdevelopブランチの Require linear history
のルールを有効にします。
Pull RequestsのMergeボタン
上記の設定を行うことでSquash Mergeのみ選択可能になります。
参考にしたページ
Configuring commit squashing for pull requests - GitHub Docs
If there is a protected branch rule in your repository that requires a linear commit history, you must allow squash merging, rebase merging, or both.
上記の記載を見つけ今回の方法に至りました。
Discussion