Gitでconflictが発生した後git checkout . --theirsとしてもerror: path 'xxx' does not have their versionとでてチェックアウトできない

Gitでconflictが発生した後git checkout . --theirsとしてもerror: path 'xxx' does not have their versionとでてチェックアウトできない

Gitで特定のブランチからのマージを行おうとして、コンフリクトが発生してしまったので、マージ元の方を採用しようとして

git checkout . --theirs

として実行すると、

error: path 'xxx' does not have their version

と削除したファイルの適用ができなくてチェックアウトできない

ファイルを削除して解決する

git rm --force [ファイルパス]

と実行してファイルを削除し、ワークツリーからも削除して解決

--strategy-option theirsを使用する

マージ先の各ファイルがマージ元のファイルで上書きされるようにします。

git merge <マージ元ブランチ> --strategy-option theirs

マージ後に上書きしてしまう

すべてのファイルを上書きしてしまって良い場合は下記のようにしてマージ後にマージ元ブランチの内容で上書きしてしまいます。

git checkout <マージ元ブランチ> -- .