git pull でエラーが出た時、強制的にpullする方法

サーバ上のリポジトリをローカルのリポジトリにpullしようとした時の話。
サーバ側とローカル側では、だいぶ修正などしていて、どっちがどうなってるかよくわからなくなっている状態で・・・

git pull したら以下のようなエラーが出た。

fatal: refusing to merge unrelated histories

グーグル先生の翻訳
致命的:関連のない履歴のマージを拒否

対処法1

安全にとかではなく、とにかくpullしたい。上書きでもなんでもいい!という場合は以下のコマンド。

$ git pull --allow-unrelated-histories origin master

すると、今度は以下のエラーが出た。

error: The following untracked working tree files would be overwritten by merge:

グーグル先生の翻訳
エラー:次の追跡されていない作業ツリーファイルは、マージによって上書きされます。

対処法2

とにかく何でもいいからpullしたい!
という事で、以下のコマンド。

$ git fetch --all
$ git reset --hard origin/master

できた!

というわけでメモメモ・・・。