There are lots of different theories on the right way of branching on Github. One very neat one is flow, but perhaps you haven’t invested in using that for your particular project. In any case, there may just come a time when you decide after the fact that you should have created a remote branch. Here’s how to do it easily in a few steps.
Step 1) Find the last commit you want included.
This one’s easy, just go to your project, check out your commits and decide where things started going awry. You want the hash for that commit (not tree not parent), as that’s where you are going to branch. It should look something like:
Step 2) Create your new branch.
I assume you already have your repo checked out from Github, yes? Ok, great, then just go create your new branch.
git branch production ff96b9182a2648bfb65f
Step 3) Add it to Github
Almost there. Now we just need to push it to Github so others can use it.
% git push origin production
That’s it. You can checkout, merge and do everything else as you would with any Git branch, and others can track your branch straight from Git.
Ahh, git so powerful, yet so obtuse.