GitHub Enterprise Serverで解決できるマージコンフリクトは、Git リポジトリの別々のブランチで、同じファイルの同じ行に異なる変更がなされた場合など、互いに矛盾する行変更を原因とするもののみです。 その他すべての種類のマージ コンフリクトについては、コマンド ラインでコンフリクトをローカルに解決する必要があります。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。
サイトの管理者がリポジトリ間の Pull Request に対してマージ コンフリクト エディターを無効にしている場合、GitHub Enterprise Server ではコンフリクト エディターを使用できず、コマンドラインでマージ コンフリクトを解決する必要があります。 たとえば、マージ コンフリクト エディターが無効な場合、フォークと上流リポジトリの間の Pull Request ではそれを使用できません。
Warning: When you resolve a merge conflict on GitHub Enterprise Server, the entire base branch of your pull request is merged into the head branch, even if the head branch is the default branch of your repository or a protected branch. このブランチにコミットすることが間違いでないことを確認してください。
- リポジトリ名の下で、クリックします 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 をマージする」を参照してください。