我的用户名(我们称之为my_name
)属于Apache组,该组是var/www/html
目录,子目录和其中包含的文件的所有者。
在那个目录中,我安装了Wordpress。目录和文件权限设置为0775(是的,我知道文件应该有644,但它现在不是一个因素)。
嗯,我的用户名确实有写权限,因为我可以使用SSH终端或WinSCP创建新文件或目录,以及删除它们。
当我运行裸git存储库的post-receive挂钩时,无论是通过运行脚本还是通过从本地工作存储库推送更改,问题就出现了。
在任何情况下,由于权限被拒绝,后接收挂钩不起作用。真奇怪,我无法理解为什么。
你能帮我吗?
修改
这是ls -alrth ~/git/devsite.git/hooks
目录的输出:
-rwxrwxr-x 1 name apache 896 Apr 2 22:41 commit-msg.sample
-rwxrwxr-x 1 name apache 727 Apr 7 09:09 post-receive
-rwxrwxr-x 1 name apache 189 Apr 2 22:41 post-update.sample
-rwxrwxr-x 1 name apache 398 Apr 2 22:41 pre-applypatch.sample
-rwxrwxr-x 1 name apache 1704 Apr 2 22:41 pre-commit.sample
-rwxrwxr-x 1 name apache 1239 Apr 2 22:41 prepare-commit-msg.sample
-rw-rw-r-- 1 name apache 1348 Apr 2 22:41 pre-push.sample
-rwxrwxr-x 1 name apache 4951 Apr 2 22:41 pre-rebase.sample
-rwxrwxr-x 1 name apache 3611 Apr 2 22:41 update.sample
这是收件后脚本:
#!/bin/sh
TARGET=/var/www/html/wp-content
GIT_DIR=/home/name/git/devsite.git
#run 'post-receive' hook
git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f
答案 0 :(得分:0)
在
之后再试一次cd /path/tp/bare/repo
git config core.sharedRepository true
我之前在“Permissions with Git Post-Receive”中提到过它。
在OP的实例中,post-receive
脚本未正确放置:它应位于~/git/devsite.git/hooks
,而不是~/git/devsite.git
。