Learn or Die

生涯勉強。Macです。

Gitコンフリクト解消方法(git mergetool)

プルリクを送ったときにコンフリクトが起きた際の解消手順。

手順

1.ローカルでベースブランチに移動する。(developやmasterなど)
2.ベースブランチでpullしてリモートの変更を取り込む
3.作業ブランチに移動する
4.作業ブランチにて、リベースコマンドでベースブランチを取り込む。

$ git rebase develop

5.コンフリクト発生
6.git mergetoolコマンドで差分を表示し、コンフリクトを解消
7.git statusで状態確認
8.git rebase --continueでリベースを続行
9.:wqで保存
10. pushする。(リベースを行っているのでフォースプッシュが必要)

$ git push -f origin HEAD
  1. 完了!

注意点

mergeだと余計なコミットが作られてしまい履歴がわかりづらいので、現場にもよるが基本的にはrebaseを使う。