4

我正在跑步Gitosis并希望将我提交的工作暂存在我的 html 目录中。

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

任何建议都会有很大帮助。

4

2 回答 2

3

我在这里遇到了完全相同的问题。我们在一个post-receive钩子中有以下内容

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

如果 Git 在您告诉它时看到其中任何一个环境变量pull,它会感到困惑,并且不会查看当前目录。

于 2010-12-21T19:38:07.300 回答
0

You can create a post-receive hook to cd to a non-bare repository with a working tree and execute a pull there after you've pushed to the bare repo.

In general, it's best to push to bare repositories and pull to repos with working trees.

于 2010-12-21T18:36:26.010 回答