我认为这是我在这个专用服务器上设置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
。我该如何解决这个问题?
谢谢。
答案 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