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.
while read oldrev newrev ref
branch=`echo $ref | cut -d/ -f3`
GIT_WORK_TREE=/path/to/local/checkout git checkout -f $branch
chmod +x myrepo.git/hooks/post-receive`
From your local checkout:
git push myremote mybranch