I know this type of a question has a lot duplicates, but I wanted to open a new one because I didn\'t found in all of the other questions the explaination of the best way to do
The easiest thing to do, like you say, would be to simply create a new branch where HEAD is and then revert development to the commit you want to resume work from:
git checkout development # Make HEAD point to the 'development' branch
git branch beforeRevert # Create a new branch reference pointing to HEAD
git reset --hard c14809fa # Move HEAD, the index and your working copy to c14809fa
Here's a graphical representation of what will happen:
Step 1 Step 2 Step 3
develop develop, beforeRevert develop beforeRevert
/ / / /
A-B-C-D-E-F A-B-C-D-E-F A-B-C-D-E-F
^ ^ ^
HEAD HEAD HEAD
The important thing here is that HEAD is always pointing to the development branch, so that's the branch that gets moved when you run git reset --hard c14809fa. The new beforeRevert branch will still point to where HEAD was before the revert.