Skip to main content

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

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

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

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

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

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

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

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

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

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

複数のマージ方法を選んだ場合、コラボレーターは pull request をマージするときに使用するマージコミットの種類を選べます。 コミット履歴をクリーンで線形に保つために、squash(複数のコミットを1つにまとめる)とrebase(ベースとなる履歴を更新する)を使用してください。

参考資料

  •         [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)
    
  •         [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)