git merge には dry run がないけど dry run っぽいことがしたい

--no-commit--no-ff を使って dry run っぽいことを実現する。

$ git merge --no-commit --no-ff develop

単純に git merge だけだとコミットまでされてしまうので --no-commit をつける。
あと fast-forward でマージされないように --no-ff をつける。

マージ後は

$ git diff --cached

で状態を確認できて、コンフリクトが発生していなければ変更の差分が表示されるはずだし、コンフリクトしていたら * Unmerged path ... と表示されるはず。

コンフリクトが発生しておらず差分に問題なければ、このままコミットすればよいし、やっぱり取り消したいってなったら、

$ git merge --abort

$ git reset --hard HEAD

とか状況に応じて使い分けて取り消せばOK。