Git post-receive hook很慢

时间:2014-04-17 16:14:07

标签: git sh githooks

我有一个用于更新或开发服务器的post-receive钩子。我只是设置它。它有效,但它超级慢。当我推送到服务器时,拉动完成需要大约1-2分钟,我不知道为什么需要这么长时间。当我进行手动拉动时,只需不到5秒钟。

为什么用钩子需要更长的时间?

这是钩子的代码:

#!/bin/sh

cd /home/www
git pull

1 个答案:

答案 0 :(得分:0)

问题是您的cd更改了目录,但git命令正在您要推送的存储库上运行。 这是由于环境变量GIT_DIR迫使Git使用指定的目录。

该变量由Git在调用Hook之前设置。这是一个正常工作的简单钩子:

#!/bin/sh

export GIT_DIR=/home/www
git pull