
GitHubでプルリクエスト(Pull Request)を発行したがコンフリクト(conflict)が発生した場合に、コンフリクトを解消するまで「Merge Pull Request」ボタンが非活性でマージが出来ません。
GitHubのPull Request画面で以下のようなメッセージが表示されている場合です。
This branch has conflicts that must be resolved
Use the web editor or the to resolve conflicts.
Conflicting files
ブラウザ上でGitHubの「Resolve conflicts」ボタンから解決してもよいですが、今回はローカルのGitのmergeコマンドで解決する方法をご紹介します。
コンフリクト(conflict)の解決手順
コンフリクトが起きた状況
developブランチからmasterブランチへのプルリクエスト(Pull Request)でコンフリクトが発生した場合を想定しています。
ローカルリポジトリのmasterブランチを最新化する
masterブランチをチェックアウトしリモートリポジトリのmasterブランチを取得する
git checkout master
git fetch
git merge origin/master
developブランチをチェックアウト
git checkout develop
developブランチにmasterブランチをマージ
git merge master
コンフリクトを解決する
お使いのエディタでコンフリクトしているファイルを正しい内容に編集する
以下のコマンドでorigin/developに反映する
git add -A
git commit -m 'コメント'
git push origin HEAD
GitHubのPull Request画面で「Merge Pull Request」ボタンをクリックしマージする
コンフリクト解消済みのdevelopブランチをリモートリポジトリのdevelopブランチにPushしたことで、「Merge Pull Request」ボタンが活性化しています。
これで、マージすることが出来るようになりました。
次に読むおすすめ記事
Gitの全体像や基本コマンド、ブランチ運用、トラブル解決手順を体系的に学びたい方は、以下の完全ガイドもあわせて参考にしてください。

【完全版】Git初心者向けガイド|基本コマンドから実務トラブル解決まで
プログラムの開発やWeb制作において、いまや必須スキルとなったバージョン管理システム「Git(ギット)」。しかし、これからGitを学び始める初心者の方にとって、「ワークツリーやステージングなど聞き慣れない言葉が多い」「ブランチやマージの仕組…

