質問: Win10 / Vagrant の環境で Git をインストールし、pre-commit を作りました。 中身は、PHP の規約チェックです。 1行目のシェバンは「#!/bin/sh」と書いて、 vagrant ssh から git add -A してコミットすれば きちんと動くのを確認しました。 次に、チーム内では Git 初心者が多いため、 Windows10 の SourceTree から使う設定をしたいと思っています。 1行目のシェバンを「#!C:/Program\ Files/Git/usr/bin/sh.exe」と変えました。 コミット時に SourceTree の「オプションのコミット」から 「フックをコミットバイパス」を選択して、コミットしたのですが、 規約違反があっても素通りしてしまいます。 シェバンの書き方に問題があるのでしょうか? Win10側にも Git はインストールし、 「C:\Program Files\Git\usr\bin\sh.exe」があるのは確認しています。 ご教示、よろしくお願い致します。
回答: シバンは`#!/bin/sh`あるいは`#!/bin/bash`(bash拡張を使う場合)でいいはずです(自分の手元のGit for Windowsではそれで問題なく動いています)。 ...というより、Windows上のパスをシバンに書いたことはないです。