#Githubでmerge作業をしようとした際プルリクがToo complexとなった時の話
GitHubでプルリクを出すと、”These conflicts are too complex to resolve in the web editor”
となった。
(こうなるのは変更点が多すぎるとなる様子)
解決に参考にした記事:https://kei178.me/programming/235/
こういう場合はVS Codeでmerge出来る
##手順
VS Codeの対象プロジェクトのターミナル上で
$ git merge master
この時mergeしたいブランチが自分の現在のブランチからdevelopブランチの場合は
$ git merge origin/develop
(この時 git merge develop
でない点注意!)
(仮にこうした場合ターミナルに
merge: develop - not something we can merge
Did you mean this?
origin/develop
と表示される)
なのでorign/develpとすれば良いことがわかる。
次に
$git status
を実行すると以下のようにコンフリクトしている箇所がわかるようになる
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
both modified: css/main.css
deleted by us: css/style.css
both modified: footer.php
both modified: sidebar.php
both modified: single.php
上記のようにコンフリクトが起きている箇所が表示される。
ここまで実行すると該当のコンフリクトのあるファイルに
上記画像のように「現在の変更」と「入力側の変更」が表示される
###ここで今回のポイント
現在の変更:自分のこれまでのブランチで入力していた内容
入力側の変更:mergeしようとしていたブランチ側(今回ならdevelop)で入力されている内容
自分のブランチの内容をそのまま使いたければ現在の変更を取り込む
developブランチの内容をそのまま使いたければ入力側の変更を取り込む
必要な部分を選びたければdeleteキーを使用して手動で削除していけば良い
###変更が終わったら
git add .
git commit -m '変更をコミット'
git push origin ブランチ名
でプッシュし、再度Github上でプルリクしてマージすればOK