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'.