2015-04-07 66 views
0

我能夠通過在服務器上創建一個裸回購實現與Git的推送部署,並從我的開發。以下是我收到的後處理更新現場:Git post-receive hook for push-to-deploy ..我想結算上次推送的分支

#!/bin/sh 

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

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

請注意,它結帳「主」分支這在大多數情況下工作很好。 「主人」是我推送的分支(例如,推送到登臺服務器時爲git push staging master)。不過,我有時只想推送一個分支,而無需將我的更改合併到主人(例如git push staging new-register-form)。我可以更改我的post-receive鉤子腳本來檢出「上次推送的分支」嗎?這可能嗎?

回答

0

是的,你可以,這樣的:here

#!/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 

取自