GitHub Enterprise Serverで解決できるマージコンフリクトは、Git リポジトリの別々のブランチで、同じファイルの同じ行に異なる変更がなされた場合など、互いに矛盾する行変更を原因とするもののみです。 その他すべての種類のマージ コンフリクトについては、コマンド ラインでコンフリクトをローカルに解決する必要があります。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。
サイト管理者がリポジトリ間のプルリクエストのマージコンフリクトエディタを無効にすると、 GitHub Enterprise Server でコンフリクトエディタを使用できず、コマンドラインでマージコンフリクトを解決する必要があります。 たとえば、マージ コンフリクト エディターが無効な場合、フォークと上流リポジトリの間の Pull Request ではそれを使用できません。
警告: マージコンフリクトを GitHub Enterprise Server で解決すると、head ブランチがリポジトリのデフォルトブランチまたは保護されたブランチであっても、プルリクエストのベースブランチ全体が head ブランチにマージされます。 このブランチにコミットすることが間違いでないことを確認してください。
-
リポジトリ名の下にある Pull requests(プルリクエスト)をクリックしてください。
-
[Pull Requests] リストで、解決するマージ コンフリクトを起こしている Pull Request をクリックします。
-
指定した Pull Request の下部周辺で、[Resolve conflicts] をクリックします。
ヒント: [Resolve conflicts] ボタンが無効になっている場合、プルリクエストのマージコンフリクトが複雑すぎて GitHub Enterprise Server で解決できないか、サイト管理者がリポジトリ間のプルリクエストのコンフリクトエディタを無効にしています。 別の 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 をマージする」を参照してください。