Earlier quoted context omitted.
Mercurial's branches are server side (learned that the hard way the first time I made a branch), git's are client side.
I think you are confused, git and hg branches are very similar (I'd try to help but I'm not sure what the confusion is).
1. Switch to the default branch
2. Cherry-pick (with the equivalent hg command) my changes from my own branch into default
3. Push the changes to the remote repo
What happened was that my local branch got pushed to the server, along with the default one. With git this wouldn't happen, it would push the local master to the remote master.