Skip to main content

GitHubでのマージ競合の解決

競合エディターを使用して、 GitHub で単純なマージ競合を直接解決するか、コマンド ラインを使用して複雑なケースを処理します。

GitHubで競合する単純なライン変更の競合を解決できます。 その他の競合については、コマンド ラインを使用します。 「コマンド ラインを使用してマージ コンフリクトを解決する」を参照してください。

リポジトリCopilot クラウドエージェント有効になっている場合は、マージ ボックスの [Copilotで修正] をクリックして、競合を自動的に解決Copilot。 「GitHubでのクラウド エージェントCopilot使用」を参照してください。

警告

GitHubの競合を解決すると、ベース ブランチ全体がヘッド ブランチにマージされます。 ヘッド ブランチが既定のブランチまたは保護されたブランチである場合は、新しいヘッド ブランチの作成を求められる場合があります。 「保護されたブランチについて」を参照してください。

  1. リポジトリ名の下にある [pull requests](プル要求 をクリックします。

  2. [Pull Requests](プル要求) の一覧で、解決するマージ競合がある pull request をクリックします。

  3. 指定した pull request の下部周辺で、 [競合の解決] をクリックします。

    プルリクエストにマージの競合があることを示す警告のスクリーンショット。 [マージの競合を解決] ボタンは濃いオレンジ色で強調されています。

    メモ

    競合の解決が非アクティブ化されている場合は、別の Git クライアントまたはコマンド ラインを使用して競合を解決します。 「コマンド ラインを使用してマージ コンフリクトを解決する」を参照してください。

  4. あなたのブランチの変更だけを保持したいか、他のブランチの変更だけを保持したいか、あるいは両方のブランチからの変更を取り入れられる新しい変更を作成するかを決めてください。 競合マーカー <<<<<<<=======>>>>>>> を削除し、最終的なマージで必要な変更を行います。

  5. ファイルに複数のマージ競合がある場合は、次の競合マーカーのセットまで下にスクロールし、手順 4 と 5 を繰り返して競合を解決します。

  6. ファイル内のすべての競合を解決したら、[解決済 みとしてマーク] をクリックします。

    プルリクエストのマージ競合を解決するためのエディターのスクリーンショット。 [解決済みとしてマーク] ボタンが濃いオレンジ色の枠線で囲まれています。

  7. 複数のファイルに競合がある場合は、ページの左側にある [競合するファイル] で編集する次のファイルを選択し、プル要求内のすべてのマージ競合を解決するまで手順 4 ~ 7 を繰り返します。

  8. マージの競合をすべて解決したら、[ マージのコミット] をクリックします。 これにより、Base ブランチ全体が Head ブランチにマージされます。

    プルリクエストのマージ競合を解決するためのエディターのスクリーンショット。 [マージのコミット] ボタンが濃いオレンジ色の枠線で囲まれています。

  9. プロンプトに従い、コミット先のブランチをレビューします。 ヘッド ブランチを更新することも、使用可能な場合はプル要求用の新しいブランチを作成することもできます。 ヘッド ブランチが保護されている場合は、新しいブランチを作成する必要があります。

[ブランチの作成と pull request の更新] または [理解しており、BRANCH の更新を続ける] をクリックします。

  1. pull request をマージするには、 [pull request のマージ] をクリックします。 「pull request のマージ」を参照してください。

詳細については、次を参照してください。