git post-receive钩子不能执行
 发布于 9 年前  作者 sanrudongfeng  8700 次预览  最后一次回复是 9 年前  来自 问答 

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 回复
jkjk77

可能是权限问题 chmod +x …

sanrudongfeng

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

stonephp

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

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

i5ting

使用ghooks更好

sanrudongfeng

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

sanrudongfeng

@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

sanrudongfeng

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