Amazon EC2 インスタンス (Ubuntu 12.04 を実行) でホストされているウェブサイトがあります。git を使用して変更をサーバーにプッシュし、post-receive フックを使用して作業ディレクトリでチェックアウトできるようにしたいと考えています。したがって、フックディレクトリのサーバーには、次を含む post-receive という名前のファイルがあります。
#!/bin/sh
GIT_WORK_TREE=/home/ubuntu/beta git checkout -f
ファイルにはパーミッションがあります: -rwxrwxr-x (つまり、実行可能)。
ローカル マシンで、サーバー上の git リポジトリにプッシュすると、プッシュが成功し、git リポジトリが更新されます。ただし、post-receive フックは実行されません。フックを手動で実行すると、正常に実行され、作業ディレクトリが更新されます。
git push は SSH 経由で実行され、フックを手動で実行しているかのように同じユーザーを使用します。
フックが自動的に実行されない理由はありますか?
ありがとう。