git post-receive钩子不能执行
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 回复
如果帮到你, 请点赞http://www.jianshu.com/p/4cf38c44a68c
可能是权限问题 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 这个好强大,感谢,涨知识。