git flow を使っていて、 git flow release finish 後に master ブランチのままなのに気付かずに develop ブランチのつもりで git commit してしまうということが起きるので、 pre-commit hook で禁止するようにしてみました。 参考 twitter で https://github.com/bleis-tift/Git-Hooks/blob/rewrite/hooks/pre-commit というのを教えてもらって、 Git.pm に依存しているこれをそのまま使うのは面倒そうだったので、 シェルスクリプトで実装してみました。 pre-commit の引数 さきほどの pre-commit だと my $gitdir = shift; としていて、 pre-commit の第一引数で git-dir が渡されるのかと思ったのです