ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

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

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

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

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

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

  1. リポジトリ名の下で、クリックします Pull requests

Issues tab 1. [Pull Requests] リストで、解決するマージ コンフリクトを起こしている Pull Request をクリックします。 1. 指定した Pull Request の下部周辺で、[Resolve conflicts] をクリックします。 [Resolve merge conflicts] ボタン

ヒント: [Resolve conflicts] ボタンが無効になっている場合、プルリクエストのマージコンフリクトが複雑すぎて GitHub Enterprise Server で解決できないか、サイト管理者がリポジトリ間のプルリクエストのコンフリクトエディタを無効にしています。 別の Git クライアントを使用するか、コマンドラインで Git を使用して、マージのコンフリクトを解決する必要があります。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。

1. あなたのブランチの変更だけを保持したいか、他のブランチの変更だけを保持したいか、あるいは両方のブランチからの変更を取り入れられる新しい変更を作成するかを決めてください。 コンフリクトマーカーの`<<<<<<<`、`=======`、`>>>>>>>`を削除して、最終のマージに入れたい変更を作成してください。 ![コンフリクトマーカー付きのマージコンフリクトの例を表示する](/assets/images/help/pull_requests/view-merge-conflict-with-markers.png) 1. ファイルに複数のマージ コンフリクトがある場合は、次の一連のコンフリクト マーカーまで下にスクロールし、ステップ 4 と 5 を繰り返してマージ コンフリクトを解決します。 1. ファイル内のコンフリクトをすべて解決したら、[**Mark as resolved**] をクリックします。 ![[Mark as resolved] ボタンをクリックする](/assets/images/help/pull_requests/mark-as-resolved-button.png) 1. コンフリクトしているファイルが複数ある場合は、[conflicting files] の下のページの左側で編集する次のファイルを選択し、Pull Request のマージ コンフリクトをすべて解決するまでステップ 4 から 7 を繰り返します。 ![コンフリクトしている次のファイルを選択する(該当する場合)](/assets/images/help/pull_requests/resolve-merge-conflict-select-conflicting-file.png) 1. マージ コンフリクトをすべて解決したら、[**Commit merge**] をクリックします。 これにより、Base ブランチ全体が Head ブランチにマージされます。 ![Resolve merge conflicts button](/assets/images/help/pull_requests/merge-conflict-commit-changes.png) 1. プロンプトに従い、コミット先のブランチをレビューします。

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

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

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

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

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

参考リンク

このドキュメントは役立ちましたか? プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問する サポートへの連絡