Git post-receive hooks

时间:2016-06-09 09:50:23

标签: git hook git-post-receive

我有两台不同的服务器。一个用于存储库,另一个用于 Web应用程序。 我试图设置 post-receive hook。当我将代码推送到存储库服务器时,我希望项目代码在应用服务器中。

服务器

$ mkdir /home/yo/repo.git
$ cd /home/yo/repo.git
$ git init --bare
$ cd /hooks
$ touch post-receive.sh
$ chmod +x post-receive.sh

post-receive.sh

#!/bin/bash
while read oldrev newrev ref
do
git --work-tree=appuser@appserver:/var/www/multiverse --git-dir=/home/yo/repo.git checkout -f
done

本地

$ cd /home/Sites/multiverse
$ git init
$ git remote add origin repouser@reposerver:/home/yo/repot.git
$ git add .
$ git commit -am "initial commit"
$ git push origin master

如何使用post-receive实现此目的?

1 个答案:

答案 0 :(得分:2)

post-receive脚本必须安装在裸git(hooks)的/home/yo/repo.git/hooks目录中,且必须命名为post-receive,不得有任何扩展名。

相关问题