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

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

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

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

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

  1. リポジトリ名の下にある Pull requests(プルリクエスト)をクリックしてください。

    Issue とプルリクエストのタブの選択

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

  3. 指定した Pull Request の下部周辺で、[Resolve conflicts] をクリックします。

    [Resolve merge conflicts] ボタン

    ヒント: [Resolve conflicts] ボタンが作動しない場合、指定した Pull Request のマージ コンフリクトは GitHub で解決するには複雑すぎます。 別の Git クライアントを使用するか、コマンドラインで Git を使用して、マージのコンフリクトを解決する必要があります。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。

  4. あなたのブランチの変更だけを保持したいか、他のブランチの変更だけを保持したいか、あるいは両方のブランチからの変更を取り入れられる新しい変更を作成するかを決めてください。 コンフリクトマーカーの<<<<<<<=======>>>>>>>を削除して、最終のマージに入れたい変更を作成してください。

    コンフリクトマーカー付きのマージコンフリクトの例を表示する

  5. ファイルに複数のマージ コンフリクトがある場合は、次の一連のコンフリクト マーカーまで下にスクロールし、ステップ 4 と 5 を繰り返してマージ コンフリクトを解決します。

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

    [Mark as resolved] ボタンをクリックする

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

    コンフリクトしている次のファイルを選択する(該当する場合)

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

    Resolve merge conflicts button

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

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

    更新するブランチの確認を求める

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

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

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

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

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください