GitHub で解決できるマージの競合は、Git リポジトリの別々のブランチで、同じファイルの同じ行に異なる変更が加えられた場合など、互いに矛盾する行変更が原因のもののみです。 その他すべての種類のマージ コンフリクトについては、コマンド ラインでコンフリクトをローカルに解決する必要があります。 詳しくは、「コマンド ラインを使用してマージ コンフリクトを解決する」をご覧ください。
警告
GitHub 上でマージの競合を解決すると、pull request のベース ブランチ全体が head ブランチにマージされます。 このブランチに本当にコミットすることを決めたのか確認してください。 head ブランチがリポジトリのデフォルトブランチである場合、プルリクエストの head ブランチとして機能する新しいブランチを作成するオプションが表示されます。 head ブランチが保護されている場合、コンフリクトの解決をマージすることができないため、新しい head ブランチを作成するように求められます。 詳しくは、「保護されたブランチについて」をご覧ください。
-
リポジトリ名の下にある [Pull requests] をクリックします。
![リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーでは、[pull request] というラベルが付いたタブが濃いオレンジ色の枠線で囲まれています。](/assets/cb-51156/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)
-
[Pull Requests] リストで、解決するマージ コンフリクトが発生している Pull Request をクリックします。
-
指定した pull request の下部周辺で、 [競合の解決] をクリックします。
![プルリクエストにマージの競合があることを示す警告のスクリーンショット。 [マージの競合を解決] ボタンは濃いオレンジ色で強調されています。](/assets/cb-69649/images/help/pull_requests/resolve-merge-conflicts-button.png)
メモ
**[Resolve conflicts]** ボタンが作動しない場合は、pull request のマージの競合が複雑すぎて GitHub では解決できません。 別の Git クライアントを使用するか、コマンドラインで Git を使用して、マージのコンフリクトを解決する必要があります。 詳しくは、「[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line)」をご覧ください。 -
あなたのブランチの変更だけを保持したいか、他のブランチの変更だけを保持したいか、あるいは両方のブランチからの変更を取り入れられる新しい変更を作成するかを決めてください。 競合マーカー
<<<<<<<、=======、>>>>>>>を削除し、最終的なマージで必要な変更を行います。 -
ファイルに複数のマージ コンフリクトがある場合は、次の一連のコンフリクト マーカーまで下にスクロールし、ステップ 4 と 5 を繰り返してマージ コンフリクトを解決します。
-
ファイル内のコンフリクトをすべて解決したら、 [Mark as resolved] をクリックします。
![プルリクエストのマージ競合を解決するためのエディターのスクリーンショット。 [解決済みとしてマーク] ボタンが濃いオレンジ色の枠線で囲まれています。](/assets/cb-148198/images/help/pull_requests/mark-as-resolved-button.png)
-
コンフリクトしているファイルが複数ある場合は、[conflicting files] の下のページの左側で編集する次のファイルを選択し、Pull Request のマージ コンフリクトをすべて解決するまでステップ 4 から 7 を繰り返します。
-
マージ コンフリクトをすべて解決したら、 [Commit merge] をクリックします。 これにより、Base ブランチ全体が Head ブランチにマージされます。
![プルリクエストのマージ競合を解決するためのエディターのスクリーンショット。 [マージのコミット] ボタンが濃いオレンジ色の枠線で囲まれています。](/assets/cb-198808/images/help/pull_requests/merge-conflict-commit-changes.png)
-
プロンプトに従い、コミット先のブランチをレビューします。
head ブランチがリポジトリのデフォルトブランチである場合、コンフリクトを解決するために加えた変更でこのブランチを更新するか、新しいブランチを作成してこれをプルリクエストのヘッドブランチとして使用するかを選択できます。
新しいブランチを作成する場合は、ブランチの名前を入力します。
プルリクエストの head ブランチが保護されている場合は、新しいブランチを作成する必要があります。 保護されたブランチを更新するオプションはありません。
**[ブランチの作成と pull request の更新]** または **[理解しており、BRANCH の更新を続ける]** をクリックします。 ボタンテキストは、実行中のアクションに対応しています。 -
pull request をマージするには、 [pull request のマージ] をクリックします。 その他の pull request マージ オプションの詳細については、「pull request のマージ」を参照してください。
参考資料
-
[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)