git post-receive钩子不能执行
发布于 4 年前 作者 sanrudongfeng 6238 次浏览 来自 问答

ubuntu post-receive钩子,实现客户端push代码以后自动pull到服务端的仓库上,脚本如下:

#!/bin/sh
echo "1"
unset GIT_DIR
echo "2"
cd /home/git_entity/sanrudongfeng/sanrudongfeng
echo "3"
git pull
echo "4"

当push代码到远程服务器的时候不能够pull代码,这个脚本完全没执行啊。求大神指导。

8 回复

可能是权限问题 chmod +x …

已看,我直接上的root用户,应该不存在这个问题。。。还是感谢

env -i git pull 改成这样试试,

如果还不行,把 post-receive 改成 post-update

使用ghooks更好

@stonephp 可行,很赞,已跑通了。 非常非常感谢。

@jkjk77 着实好像是这个问题,不知道为啥,用的root用户啊,奇怪了。

#!/bin/sh

unset GIT_DIR

NowPath=`pwd`
DeployPath="targetDIR"

cd $DeployPath
git pull origin master

cd $NowPath
exit 0

chmod +x .git/hooks/post-receive

@i5ting 这个好强大,感谢,涨知识。

回到顶部