If you deploy using a git post-receive hook, this script will allow you to push and checkout a specific branch on your remote rather than only being able to use master.
#!/bin/bash while read oldrev newrev ref do branch=`echo $ref | cut -d/ -f3` GIT_WORK_TREE=/path/to/local/checkout git checkout -f $branch done
chmod +x myrepo.git/hooks/post-receive`
From your local checkout:
git push myremote mybranch