我正在运行Gitosis
并希望我的承诺工作能够在我的html目录中暂存。
我尝试使用this方法将GIT_WORKING_TREE设置为我的html目录,但是我收到错误remote: fatal: This operation must be run in a work tree
。我认为这是因为Gitosis似乎需要裸存储库。
任何建议都会有很大的帮助。
答案 0 :(得分:3)
我在这里遇到了同样的问题。我们在post-receive
挂钩
echo "Updating pages"
unset GIT_DIR GIT_WORK_TREE
( cd /path/to/staging/tree ; git pull ; )
echo "Update completed"
如果Git在告诉pull
时看到这些环境变量中的任何一个,它就会混淆,而不会查看当前目录。
答案 1 :(得分:0)
您可以使用工作树创建一个后接收挂钩,以cd到非裸存储库,并在推送到裸存储库后执行拉动。
一般来说,最好是推送到裸存储库并使用工作树进行回收。