我正在尝试通过从一个用户提交我的更改来实现post-receive hook,以便复制到另一个用户拥有的实时文件夹。
以下是我的案例:
我的git repo用户: git
我的实时目录用户: apache
在我的 / etc / sudoers 中我写了这个:
git ALL=(apache) NOPASSWD: /usr/bin/git
在我的post-receive hook中,我写了这个:
#!/bin/bash
echo "************"
echo "Post receive hook: Updating website"
echo "************"
while read oldrev newrev ref
do
sudo -u apache git --work-tree=/var/www/testsite --git-dir=/home/git/gitrepos/testing checkout -f
done
文件夹 / var / www / testsite 归apache所有,而 / home / git / gitrepos / testing 归git所有
当我尝试从计算机中推送文件时,出现此错误:
远程:致命:不是git存储库:'/ home / git / gitrepos / testing'
非常感谢任何帮助。谢谢!