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
フックを使わずに上記を実現する方法はあるんでしょうか?