我有一个托管在 Amazon EC2 实例(运行 Ubuntu 12.04)上的网站。我希望能够使用 git 将更改推送到服务器,然后使用 post-receive 挂钩在工作目录中结帐。因此,在 hooks 目录中的服务器上,我有一个名为 post-receive 的文件,其中包含:
#!/bin/sh
GIT_WORK_TREE=/home/ubuntu/beta git checkout -f
该文件具有权限:-rwxrwxr-x(即它是可执行的)。
在我的本地机器上,当我推送到服务器上的 git repo 时,推送成功并且 git repo 已更新。但是,不会运行 post-receive 挂钩。如果我手动运行钩子,它运行良好并更新工作目录。
git push 是通过 SSH 执行的,并且使用相同的用户,就像我手动运行钩子一样。
任何想法为什么钩子不会自动运行?
谢谢。