devroom.io/drafts/2012-08-14-move-your-latest-commits-to-a-separate-branch.md

29 lines
1.0 KiB
Markdown
Raw Normal View History

2013-03-22 22:53:57 +00:00
---
title: "Move your latest commits to a separate branch"
kind: article
slug: move-your-latest-commits-to-a-separate-branch
created_at: 2012-08-14
tags:
- git
- protip
---
The situation is pretty straightforward. You have been making commits for that new feature in your `master` branch. Naughty you!
Let's assume you want to have this:
A - B - (C) - D - E - F
`C` was the last commit you pulled from `origin` and D, E and F are commits you just made but should have been in their own branch. This is what you wanted:
A - B - (C)
\ D - E F
Step 1: Assuming you're at `F` on `master`, create a new branch with those commits:
git branch my_feature_branch
Then, still on `master`, reset back to commit `C`. This is 3 commits back.
git reset --hard HEAD~3
Okay, you're `master` is now back at `C`, which you lasted pulled, and the `my_feature_branch` includes D, E and F. Just checkout `my_feature_branch` and continue work as usual. I'm sure no one saw what you just did.