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。