So you’ve made a few commits to the development branch and now realize that you need to make a feature branch for this and revert your commits to development.
Here’s how:
* This assumes you are currently working within the development branch and may have uncommitted work
// Stash your current edits if you have uncommitted work git stash; // Make a new branch from the latest commit on development git branch new_feature; // Find the commit id just before your first commit to // development branch git log;
It will look something like this:
commit a0b446145776970738952a4687a2c91cecd12b5a Author: My Name <my.name@amplificommerce.com> Date: Fri Oct 21 08:47:58 2011 -0700 Commit message 1 commit d0b84614377c900758952ac687acc91cecd12b5d Author: Kirk Madera <kirk.madera@amplificommerce.com> Date: Fri Oct 21 08:47:58 2011 -0700 Commit message 2
Pick the first commit this is before your commits.
// Reset the development branch to this commit. Make sure // you use the correct commit id; git reset --hard d0b84614377c900758952ac687acc91cecd12b5d; // Checkout your new branch git checkout new_feature; // Apply your stash. This will add your uncommitted edits // back in git stash apply stash@{0}; // Clear your stash git stash clear; // Push your branch to the main repo to allow for // collaboration & testing git push origin new_feature;