LoginSignup
4
10

More than 3 years have passed since last update.

Git mergeする時に迷ったこと 〜現在の変更と入力側の変更〜

Posted at

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

上記のようにコンフリクトが起きている箇所が表示される。
ここまで実行すると該当のコンフリクトのあるファイルに
スクリーンショット 2020-11-19 6.01.30.png

上記画像のように「現在の変更」と「入力側の変更」が表示される

ここで今回のポイント

現在の変更:自分のこれまでのブランチで入力していた内容
入力側の変更:mergeしようとしていたブランチ側(今回ならdevelop)で入力されている内容

自分のブランチの内容をそのまま使いたければ現在の変更を取り込む
developブランチの内容をそのまま使いたければ入力側の変更を取り込む

必要な部分を選びたければdeleteキーを使用して手動で削除していけば良い

変更が終わったら

git add .
git commit -m '変更をコミット'
git push origin ブランチ名

でプッシュし、再度Github上でプルリクしてマージすればOK

4
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
10