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

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-11-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

マージコンフリクトについて

マージコンフリクトは、競合するコミットを持つブランチをマージしようとしたときに生じるもので、最終のマージにどちらの変更を取り入れるかを Git が判断するのに手助けが必要になります。

ここには以下の内容があります:

Git がブランチ間の差異を自動的に解決してマージできる場合もあります。 通常、変更は異なる行にあったり、さらには異なるファイルにあったりするので、コンピュータにとってマージの理解がシンプルになります。 一方、Git が自力では差異を解決できず、あなたの介入が必要となることもあります。 しばしば、人々が同じファイルの同じ行に異なる変更をした場合や、ある人が編集したファイルを他の人が削除していた場合にマージコンフリクトが生じます。

GitHub Enterprise Server上でプルリクエストをマージできるようにするには、すべてのマージコンフリクトを解決しなければなりません。 プルリクエスト中の比較ブランチとベースブランチ間でマージコンフリクトがある場合、[Merge pull request] ボタンの上に、競合する変更を持つファイルのリストが表示されます。 [Merge pull request] ボタンは、比較ブランチとベースブランチ間のすべての競合が解決されるまで、非アクティブになっています。

マージコンフリクトのエラーメッセージ

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

マージコンフリクトを解決するには、競合しているファイルを手作業で編集し、最終のマージに残したい変更を選択しなければなりません。 マージコンフリクトを解決するにはいくつかの方法があります。

  • マージコンフリクトが、Git リポジトリ中の異なるブランチ上で同じファイルの同じ行に異なる変更をしたといったような、競合する行の変更から生じた場合には、コンフリクトエディタを使って GitHub Enterprise Server 上で解決できます。 詳細は「GitHub でマージコンフリクトを解決する」を参照してください。
  • 他のすべての種類のマージコンフリクトについては、リポジトリのローカルクローン中でマージコンフリクトを解決し、変更を GitHub Enterprise Server 上のブランチにプッシュしなければなりません。 変更のプッシュには、コマンドラインや GitHub Desktop のようなツールが利用できます。 詳細は「コマンドライン上でマージコンフリクトを解決する」を参照してください。

コマンドライン上にマージコンフリクトがあるなら、自分のコンピュータ上でローカルにマージコンフリクトを解決するまでは、ローカルの変更を GitHub Enterprise Server にプッシュできません。 マージコンフリクトのあるコマンドライン上のブランチをマージしようとすると、エラーメッセージが返されます。 詳細は「コマンド ラインを使用してマージコンフリクトを解決する」を参照してください。

$ git merge BRANCH-NAME
> Auto-merging styleguide.md
> CONFLICT (content): Merge conflict in styleguide.md
> Automatic merge failed; fix conflicts and then commit the result

参考リンク