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

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

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

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

警告: GitHub でマージ コンフリクトを解決するときに、Head ブランチが master のようなリポジトリのデフォルト ブランチまたは保護されたブランチである場合でも、Pull Request の Base ブランチ全体が Head ブランチにマージされます。 このブランチにコミットすることが間違いでないことを確認してください。

  1. リポジトリ名の下で [Pull requests] をクリックします。

    Issue および Pull requests タブの選択

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

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

    [Resolve conflicts] ボタン

    参考: [Resolve conflicts] ボタンが作動しない場合、指定した Pull Request のマージ コンフリクトは GitHub で解決するには複雑すぎます。 マージ コンフリクトを解決するには、Atom の 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 conflicts] ボタン

  9. プロンプトに従い、コミット先のブランチをレビューします。 このブランチにコミットする場合は [I understand, update BRANCH] をクリックします。

    Merge conflict confirmation window

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

参考リンク

担当者にお尋ねください

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

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