我使用此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
答案 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
是必需的,并且还要确保将钩子标记为可执行文件。