githooks - Git post-receive hook for push-to-deploy only works with master -


i have remote bare git repository created following:

@server:~$ mkdir -p /home/myuser/domain.git && chmod 770 /home/myuser/domain.git && cd /home/myuser/domain.git && git init --bare 

with post-receive hook:

@server:~$ nano hooks/post-receive 

the hook script is:

#!/bin/sh git --work-tree=/var/www/domain --git-dir=/home/myuser/domain.git checkout -f 

it has permission execute:

@server:~$ chmod +x hooks/post-receive 

however, changes website when push master branch.

why? remote head master, if push branch.

by default, checkout master branch.

you need specify branch checkout, depending on branch has been pushed , received.

here example of hook specific branch checkout:

#!/bin/bash  while read oldrev newrev ref     branch=`echo $ref | cut -d/ -f3`     git_work_tree=/path/to/local/checkout git checkout -f $branch done 

be sure not push multiple branches @ same time, or last branch checked out.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -