Git post-receive hook for push-to-deploy ..我想结帐最后推送的分支

时间:2015-04-07 10:10:28

标签: git deployment githooks git-push

我可以通过在服务器上创建一个裸仓库并从我的dev推送到那个来实现与Git的push-to-deploy。以下是我的收件后处理更新实时网站:

#!/bin/sh

echo
echo "*** Checking out branch [post-receive hook]"
echo

git --work-tree=/var/www/myproject checkout -f master

请注意结帐" master"分支在大多数情况下都很有用。 "主"是我推送的分支(例如,当推送到登台服务器时,git push staging master)。但是,我有时只想推送一个分支而不将我的更改合并到master(例如git push staging new-register-form)。我可以将我的收件后挂钩脚本更改为结帐"最后推送的分支"?这可能吗?

1 个答案:

答案 0 :(得分:0)

是的,你可以这样:

#!/bin/bash
while read oldrev newrev refname
do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)
    git --work-tree=/var/www/myproject checkout -f $branch
done

取自:here