无法拉入git钩子(bash脚本)
问题描述:
我正在使用Ubuntu 12.04服务器上的网站。当我将代码推送到我的网站时,我希望我的钩子自动在我的apache文件夹中的代码pull
。下面的命令更新我的网站,资料库目前的主人没有任何问题:无法拉入git钩子(bash脚本)
cd /var/www/www.foo.net
git pull
我post-update
挂钩就是应该这样做自动,但我保持我每次推得到同样的错误。请注意,每次都会正确执行推送。该脚本看起来像这样(不相关的代码遗漏):
#!/bin/bash
BRANCH=$(git rev-parse --symbolic --abbrev-ref $1)
case "$BRANCH" in
"somebranch")
echo "You are pushing to somebranch!"
cd /var/www/www.foo.net
pwd
git pull
;;
esac
在我看来,这看起来像它应该工作,特别是考虑到调试输出是什么,我希望它是。但它不起作用。我总是得到下面的输出:
remote: You are pushing to somebranch!
remote: /var/www/www.foo.net/
remote: fatal: Not a git repository: '.'
注意它是如何报道,这是在正确的目录。而且,就像我上面说的,我可以在该目录中拉没有问题。 /var/www/www.foo.net/
是一个git仓库。
我也用(cd /var/www/www.foo.net/ ; git pull)
但无济于事尝试。我也不认为它可以与权限有关;我正在使用Gitolite,并且可以通过使用Gitolite设置的帐户将其拉到本地存储库。
任何想法?我一点都不喜欢。
答
如果/var/www/www.foo.net/是一个有效的git回购尝试
git --git-dir=/var/www/www.foo.net/.git --work-tree=/var/www/www.foo.net pull
这将导致在FF上拉。
确实如此!你知道为什么其他的东西不起作用吗? – 2013-05-07 20:06:31