So, Git really is a kernel hacker's versioning system. It's powerful, cool and with not inconsiderable barriers to entry for newcomers. You have to remember a lot of command-line syntax to use it effectively.

Branching and merging on a local repository is trivially simple, but what if you create a local branch on a repository that otherwise syncs up with a remote repository?

Follow these steps (this assumes a remote called origin is set up)

$ git branch my-new-feature
$ ... # hack away
$ git commit -a -m 'Initial feature commit'
$ git push origin my-new-feature
$ git branch --set-upstream my-new-feature origin/my-new-feature

Git pull/fetch/push will now track the newly created remote branch called 'my-new-feature'.