2010-12-20 62 views
4

我正在运行Gitosis并希望我的承诺工作在我的html目录中进行。gitosis的邮件接收钩

我试图使用this的方法来设置GIT_WORKING_TREE到我的html目录,但我得到错误remote: fatal: This operation must be run in a work tree。我认为这是因为Gitosis似乎需要裸库。

任何建议将是一个很大的帮助。

回答

0

您可以创建一个post-receive钩子,将其用cd存储到一个带有工作树的非裸仓库,并在您推到裸仓库后执行pull操作。

一般来说,最好推到裸仓库,然后用工作树拉回来。

3

我在这里遇到了完全相同的问题。我们有一个post-receive

echo "Updating pages" 
unset GIT_DIR GIT_WORK_TREE 
(cd /path/to/staging/tree ; git pull ;) 
echo "Update completed" 

如果Git把那些任何环境变量的时候你告诉它pull,它会混淆以下,并且在当前目录不看。