This is easy to do, but I always forget how to do it, so this is more a reminder to myself than anything else.

To create and checkout a branch in git :

> git branch version_0.9.3
> git checkout version_0.9.3

… or if you have a better memory than me you can do it in one command :

> git checkout -b version_0.9.3

Now we’ve created the branch, committed a bunch of changes, and we want to push it to a remote repository. Regular git push doesn’t do anything :

> git push
Everything up-to-date

You have to specify the remote name where you want to push it to (usually origin, depending how you’ve configured things) :

> git push origin version_0.9.3
Total 0 (delta 0), reused 0 (delta 0)
To git@recurser.com:my_repository.git
 * [new branch]      version_0.9.3 -> version_0.9.3

The syntax to delete a remote branch is the part I always forget :

git push origin :version_0.9.3

Note that this will only delete the remote branch - you’ll still need to delete the branch locally :

> git branch -d version_0.9.3.

If you’re familiar with ruby, you should also checkout the git_remote_branch rubygem , which is designed to make working with remote branches easier.