Git のフックスクリプトで、単なる commit か merge commit かを区別出来るのか?
実現したいことは、あるブランチで直接 commit することを禁止し、他のブランチからの merge commit のみを許すことです。例えば、 Gitflow で運用した時に develop ブランチへの直接 commit を禁止して、 feature や release ブランチなどからの merge commit だけを認めることを開発メンバに強要したいといったケースです。
コミット前にチェックするための仕掛けとして pre-commit フックを使うのが最も自然だと思うんですが、実行されたのが commit か merge --no-ff による merge commit かをフックスクリプト(hook scripts)の中で区別する手段ってあるんでしょうか?
もしくは pre-commit フックを使わずに上記を実現する方法はあるんでしょうか?