CNode

git post-receive钩子不能执行

问答
Ssanrudongfeng发布于10 年前最后回复10 年前8 回复8895 浏览0 收藏

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)

J
jkjk77#1·10 年前

如果帮到你, 请点赞http://www.jianshu.com/p/4cf38c44a68c

J
jkjk77#2·10 年前

可能是权限问题 chmod +x ....

S
sanrudongfeng#3·10 年前

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

S
stonephp#4·10 年前

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

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

I
i5ting#5·10 年前

使用ghooks更好

S
sanrudongfeng#7·10 年前
引用 jkjk77可能是权限问题 chmod +x ....

@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

S
sanrudongfeng#8·10 年前
引用 i5ting使用ghooks更好

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

参与回复
登录后即可参与回复。登录