我在多个客户端之间有一个共同工作项目并部署在服务器上。
s1
git init --bare
创建一个远程仓库/root/s1
,并使用s1
将/root/s2
克隆到git clone
。s1
的{{1}}钩子中添加一个bash脚本:post-receive
所有客户端都克隆cd /root/s2 && git pull
,因此他们可以将更改推送到s1
。
但是,每次我将任何更改推送到s1
时,s1
都不会同步。如果我在服务器端手动键入s2
,它可以正常工作。那有什么问题?
更新:
我将cd /root/s2 && git pull
追加到echo "xxx">>here
,推送后会显示post-receive
个文件。这证明了bash的正确执行。
答案 0 :(得分:1)
请尝试将其放入post-receive
挂钩:
git --git-dir=/root/s2/.git --work-tree=/root/s2 pull