Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-10-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

GitHub でのマージ コンフリクトを解決する

コンフリクト エディターを使用すれば、GitHub で行の変更が競合している単純なマージ コンフリクトを解決できます。

GitHub Enterprise Serverで解決できるマージコンフリクトは、Git リポジトリの別々のブランチで、同じファイルの同じ行に異なる変更がなされた� �合など、互いに矛盾する行変更を原� とするもののみです。 その他すべての種類のマージ コンフリクトについては、コマンド ラインでコンフリクトをローカルに解決する必要があります。 詳細については、「コマンド ラインを使用してマージ コンフリクトを解決する」を参照してく� さい。

サイトの管理者がリポジトリ間の Pull Request に対してマージ コンフリクト エディターを無効にしている� �合、GitHub Enterprise Server ではコンフリクト エディターを使用できず、コマンドラインでマージ コンフリクトを解決する必要があります。 たとえば、マージ コンフリクト エディターが無効な� �合、フォークと上流リポジトリの間の Pull Request ではそれを使用できません。

警告: GitHub Enterprise Server でマージ競合を解決すると、pull request の ベース ブランチ全体が ヘッド ブランチにマージされます。 このブランチにコミットすることが間違いでないことを確認してく� さい。 head ブランチがリポジトリのデフォルトブランチである� �合、プルリクエストの head ブランチとして機能する新しいブランチを作成するオプションが表示されます。 head ブランチが保護されている� �合、コンフリクトの解決をマージすることができないため、新しい head ブランチを作成するように求められます。 詳細については、「保護されたブランチについて」を参照してく� さい。

  1. リポジトリ名の下にある [pull request] をクリックします。 [pull request] タブの選択

  2. [Pull Requests] リストで、解決するマージ コンフリクトを起こしている Pull Request をクリックします。

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

    参考: [競合の解決] ボタンが作動しない� �合、指定した pull request のマージ コンフリクトは GitHub Enterprise Server で解決するには複雑すぎるか、サイトの管理者がリポジトリ間の pull request に対してコンフリクト エディターを無効にしています。 別の Git クライアントを使用するか、コマンドラインで Git を使用して、マージのコンフリクトを解決する必要があります。 詳細については、「コマンド ラインを使用してマージ コンフリクトを解決する」を参照してく� さい。

    1. あなたのブランチの変更� けを保持したいか、他のブランチの変更� けを保持したいか、あるいは両方のブランチからの変更を取り入れられる新しい変更を作成するかを決めてく� さい。 競合マーカー `<<<<<<<`、`=======`、`>>>>>>>` を削除し、最終的なマージで必要な変更を行います。 ![競合マーカーでマージ競合例を表示する](/assets/images/help/pull_requests/view-merge-conflict-with-markers.png)
  4. ファイルに複数のマージ コンフリクトがある� �合は、次の一連のコンフリクト マーカーまで下にスクロールし、ステップ 4 と 5 を繰り返してマージ コンフリクトを解決します。

  5. ファイル内のコンフリクトをすべて解決したら、 [Mark as resolved] をクリックします。 [Mark as resolved] ボタンをクリックする

  6. コンフリクトしているファイルが複数ある� �合は、[conflicting files] の下のページの左側で編集する次のファイルを選択し、Pull Request のマージ コンフリクトをすべて解決するまでステップ 4 から 7 を繰り返します。 コンフリクトしている次のファイルを選択する (該当する� �合)

  7. マージ コンフリクトをすべて解決したら、 [Commit merge] をクリックします。 これにより、Base ブランチ全体が Head ブランチにマージされます。 [Resolve merge conflicts] ボタン

  8. プロンプトに従い、コミット先のブランチをレビューします。

    head ブランチがリポジトリのデフォルトブランチである� �合、コンフリクトを解決するために� えた変更でこのブランチを更新するか、新しいブランチを作成してこれをプルリクエストのヘッドブランチとして使用するかを選択できます。 更新するブランチの確認を求める

    新しいブランチを作成する� �合は、ブランチの名前を入力します。

    プルリクエストの head ブランチが保護されている� �合は、新しいブランチを作成する必要があります。 保護されたブランチを更新するオプションはありません。

    [Create branch and update my pull request] または [I understand, continue updating BRANCH] をクリックします。 ボタンテキストは、実行中のアクションに対応しています。

  9. pull request をマージするには、 [pull request のマージ] をクリックします。 その他の pull request マージ オプションの詳細については、「pull request のマージ」を参照してく� さい。

参考資料