我可以通过在服务器上创建一个裸仓库并从我的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
)。我可以将我的收件后挂钩脚本更改为结帐"最后推送的分支"?这可能吗?
答案 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