GitHub でのマージ コンフリクトを解決する
コンフリクト エディターを使用すれば、GitHub で行の変更が競合している単純なマージ コンフリクトを解決できます。
GitHub Enterpriseで解決できるマージコンフリクトは、Git リポジトリの別々のブランチで、同じファイルの同じ行に異なる変更がなされた場合など、互いに矛盾する行変更を原因とするもののみです。 その他すべての種類のマージ コンフリクトについては、コマンド ラインでコンフリクトをローカルに解決する必要があります。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。
If a site administrator disables the merge conflict editor for pull requests between repositories, you cannot use the conflict editor on GitHub Enterprise and must resolve merge conflicts on the command line. たとえば、マージ コンフリクト エディターが無効な場合、フォークと上流リポジトリの間の Pull Request ではそれを使用できません。
警告: GitHub Enterprise でマージ コンフリクトを解決するときに、Head ブランチが master
のようなリポジトリのデフォルト ブランチまたは保護されたブランチである場合でも、Pull Request の Base ブランチ全体が Head ブランチにマージされます。 このブランチにコミットすることが間違いでないことを確認してください。
-
リポジトリ名の下にある Pull requests(プルリクエスト)をクリックしてください。
-
[Pull Requests] リストで、解決するマージ コンフリクトを起こしている Pull Request をクリックします。
-
指定した Pull Request の下部周辺で、[Resolve conflicts] をクリックします。
参考: [Resolve conflicts] ボタンが作動しない場合、指定した Pull Request のマージ コンフリクトは GitHub Enterprise で解決するには複雑すぎ るか、サイトの管理者がリポジトリ間の Pull Request に対してコンフリクト エディターを無効にしています。 マージ コンフリクトを解決するには、Atom の Git インテグレーションのような別の Git クライアントまたはコマンド ラインを使用する必要があります。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。
-
あなたのブランチの変更だけを保持したいか、他のブランチの変更だけを保持したいか、あるいは両方のブランチからの変更を取り入れられる新しい変更を作成するかを決めてください。 コンフリクトマーカーの
<<<<<<<
、=======
、>>>>>>>
を削除して、最終のマージに入れたい変更を作成してください。 -
ファイルに複数のマージ コンフリクトがある場合は、次の一連のコンフリクト マーカーまで下にスクロールし、ステップ 4 と 5 を繰り返してマージ コンフリクトを解決します。
-
ファイル内のコンフリクトをすべて解決したら、[Mark as resolved] をクリックします。
-
コンフリクトしているファイルが複数ある場合は、[conflicting files] の下のページの左側で編集する次のファイルを選択し、Pull Request のマージ コンフリクトをすべて解決するまでステップ 4 から 7 を繰り返します。
-
マージ コンフリクトをすべて解決したら、[Commit merge] をクリックします。 これにより、Base ブランチ全体が Head ブランチにマージされます。
-
プロンプトに従い、コミット先のブランチをレビューします。 このブランチにコミットする場合は [I understand, update BRANCH] をクリックします。
-
Pull Request をマージするには、[Merge pull request] をクリックします。 Pull Request のマージ オプションの詳細については、「 Pull Request をマージする」を参照してください。