GIT_WORK_TREE未按预期工作

时间:2014-05-18 16:40:10

标签: git

我使用此link来设置git bare repo并尝试将文件放在Web服务器中。 我在hooks/post-receive文件中写了这一行来更新Web服务器中的文件

GIT_WORK_TREE=/var/www/www.example.org git checkout -f

在我将代码推送到裸仓库后,我看不到var/www/www.example.org中的文件会出现什么问题?

更新 我的文件位于staging分支中,而不在master中。我应该在staging

中使用checkout

2 个答案:

答案 0 :(得分:1)

您应该先创建目录。

mkdir /var/www/www.example.org

并确保git用户可以访问此目录。

sudo chown git. /var/www/www.example.org
sudo -u git -H chmod 755 /var/www/www.example.org

答案 1 :(得分:0)

确保post-receive挂钩实际上正在执行。如果需要,可以添加echo命令。

在许多情况下,#!/bin/sh是必需的,并且还要确保将钩子标记为可执行文件。