Skip to main content

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

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

ワークフローのニーズや Git 履歴管理の設定に合わせて、pull request のマージ オプションを設定できます。 詳しくは、「プルリクエストマージを設定する」を参照してください。

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

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

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

参考資料