【Git】削除ファイルの競合を解消する

  • 2020-05-22
  • 2020-05-22
  • Git
Git Git-Logo

削除ファイルの競合とは

別ブランチを取り込んだ時や、stashした内容を元に戻すときなど、マージするタイミングで競合が発生することがあります。
競合は同一ファイルで起こることがほとんどですが、まれに削除ファイルが競合することがあり、解除コマンドを知らないとなかなか厄介な状況に陥ります。

どういう時に発生するか

例えばHEADdevelopブランチをマージした後、以下のようなログが出力された時。

HEADのtest.javaは削除しているが、developブランチのtest.javaは編集されているので、自動マージに失敗しました。といった意味になります。

解消するには

どちらのtest.javaを優先するかで対処が分かれます。
要は競合したファイルに対して「削除するか」「編集したファイルを受け入れるか」の二択です。

ファイルを削除する場合

上記例ではHEADを優先する選択肢。

編集したファイルを受け入れる場合

上記例ではdevelopを優先する選択肢。