Skip to main content

プルリクエストにコミットの squash を設定する

リポジトリでの GitHub.com 上のすべての pull request のマージに対するコミットのスカッシュを、強制、許可、または無効化できます。

GitHub.com 上で pull request のマージ オプションを構成して、ワークフローのニーズと Git の履歴管理の優先設定を満たすことができます。 詳しくは、「プルリクエストマージを設定する」を参照してください。

スカッシュ マージの既定のコミット メッセージの詳細については、「プルリクエストのマージについて」を参照してください。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. [全般] 設定ページ (既定で選択) で、"Pull Requests" とマークされたセクションまで下にスクロールします。

  4. [pull request] で、 [スカッシュ マージを許可する] を選択します。 これにより、コントリビューターが全てのコミットを 1 つのコミットに squash してプルリクエストをマージできるようになります。 マージ時に共同作成者に表示される既定のコミット メッセージは、pull request に含まれるコミットが 1 つのみの場合はコミットのタイトルとメッセージ、pull request に含まれるコミットが 2 つ以上の場合は pull request のタイトルとコミットの一覧です。

  5. 必要に応じて、 [スカッシュ マージを許可する] の下でドロップダウン メニューを選び、マージ時に共同作成者に表示する既定のスカッシュ コミット メッセージの形式をクリックしてください。

    既定のメッセージには、pull request に含まれるコミットが 1 つのみの場合はコミットのタイトルとメッセージ、pull request に含まれるコミットが 2 つ以上の場合は pull request のタイトルとコミットの一覧が使われます。 また、pull request のタイトルのみ、pull request のタイトルとコミットの詳細、pull request のタイトルと説明を使うこともできます。

複数のマージ方法を選んだ場合、コラボレーターは pull request をマージするときに使用するマージコミットの種類を選べます。 コミットの線形履歴を必要とする保護されたブランチ ルールがリポジトリにある場合、スカッシュ マージ、リベース マージ、あるいはその両方を許可しなければなりません。 詳しくは、「保護されたブランチについて」を参照してください。

参考資料