gitでコンフリクト

経緯

どうせ削除するだけだから、masterをマージしないでいいやと、以下のように作業を行いました。

  1. 最新ではないmasterからブランチを作成
  2. ブランチ内でファイルを削除
  3. コミット
  4. pull request

すると、なんということでしょう。削除したファイルがコンフリクトを起こしているではありませんか。 ちゃんとしてって言われてしまった。

対応方法

以下の手順で、対応を実施。

  1. ローカルのmasterを最新へ
  2. ブランチ側でrebase
  3. 削除したファイルはgitからも削除し、git add
  4. リモートブランチを再push
$ git checkout master
$ git pull

$ git checkout feature/new
$ git rebase

$ git rm deletedfile1 deleted files2
$ git add .

$ git push origin :feature/new
$ git push origin feature/new

原因

HEAD情報が異なるから起きているらしい。 業務的?には、このファイルなくなってるけど、本当にいいの?って確認のようだ。