在post-receive hook之后使用裸git repo发生500内部服务器错误

时间:2015-01-16 22:14:56

标签: php linux git centos cpanel

我认为这是我在这个专用服务器上设置Git的最后一个问题(使用cpanel)。

我在PC上创建了一个裸仓库,将其放在服务器上:/home/cpaneluser/git-repos/

已编辑/home/cpaneluser/git-repos/myproject.git/hooks/post-receive,其内容为:

#!/bin/sh
GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-repos/myproject.git git checkout -f

我给了0764权限,所以所有者可以执行它。它似乎被执行得很好,因为它确实将我的repo文件按预期放入我的public_html目录。

然后,我在浏览器中导航到域,并在其中发现内部服务器错误,它是通用的,无用的,错误消息The server encountered an internal error or misconfiguration and was unable to complete your request.

真正奇怪的是,如果我手动编辑' index.php'文件位于webroot' public_html',它似乎神奇地修复了一切。但是,执行此编辑会使get repo与我的本地端不同步。

有没有人知道为什么我在运行' post-receive'之后收到互联网服务器错误? hook,执行checkout -f。我该如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

添加umask 0022解决了我的权限问题。

#!/bin/sh
umask 0022
GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-repos/myproject.git git checkout -f