我们的服务器在Ubuntu 14.04上托管Gitlab和apache,它们还可以。我正在使用以下接收后钩子 bash 脚本为每次推送自动部署网站:
#!/bin/bash
while read oldrev newrev ref
do
if [$ref=~.*/masters]; then
git --work-tree=/var/www/html
git checkout -f
fi
done
令我惊讶的是,什么都没有发生 -/var/www/html 中什么都没有。git 客户端成功了,但它也输出了 git 命令选项,就好像 git --work-tree 有问题一样。
顺便说一下,Gitlab 在哪里存储工作目录文件,因为当我在服务器上运行此命令时
sudo -u git -H ls /home/git/repositories/root/demogitlab.git
我看不到他们。我可以看到配置,头,钩子,对象和引用。
你需要在 [
、=~
和 ]
周围留出空格。它们不是可选的。
git --work-tree
本身不是有效的命令。 --work-tree
是其他git
子命令的一个选项。
git --work-tree checkout -f