🌟

GitHubのPull RequestsのMergeを特定のブランチでのみSquash Mergeに強制する方法

2022/10/28に公開

前提となる状況

  • developブランチへのマージは全てSquash Mergeにしたい
  • developブランチ以外では通常のマージも使いたい

Merge方法の設定

リポジトリのSettingsからPull Requestsで使えるマージを選択できます。
今回は通常のマージとSquash Mergeを選択します。

マージ方法の設定

ブランチルールの設定

Branch protection rulesの設定でdevelopブランチの Require linear history のルールを有効にします。

Require linear history

Pull RequestsのMergeボタン

上記の設定を行うことでSquash 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