为什么post-receive的bash不起作用?

时间:2016-03-03 07:32:52

标签: git

我在多个客户端之间有一个共同工作项目并部署在服务器上。

服务器端

  1. 使用s1 git init --bare创建一个远程仓库/root/s1,并使用s1/root/s2克隆到git clone
  2. s1的{​​{1}}钩子中添加一个bash脚本:post-receive
  3. 客户端

    所有客户端都克隆cd /root/s2 && git pull,因此他们可以将更改推送到s1

    但是,每次我将任何更改推送到s1时,s1都不会同步。如果我在服务器端手动键入s2,它可以正常工作。那有什么问题?

    更新: 我将cd /root/s2 && git pull追加到echo "xxx">>here,推送后会显示post-receive个文件。这证明了bash的正确执行。

1 个答案:

答案 0 :(得分:1)

请尝试将其放入post-receive挂钩:

git --git-dir=/root/s2/.git --work-tree=/root/s2 pull