user204088
user204088

Reputation: 1951

Move branch to another branch

I have started doing some work on a branch which I have in term realised was the wrong branch. Is there a way to move a branch to a different branch.

For example:

A -- B -- C -- D -- HEAD
 \-- E -- F -- G -- H -- I -- J
      \-- K -- L

And I want this:

A -- B -- C -- D -- HEAD
 \    \-- K -- L
  \
   \-- E -- F -- G -- H -- I -- J

Upvotes: 66

Views: 58961

Answers (3)

Peter Westlake
Peter Westlake

Reputation: 5036

This is just the sort of thing git rebase can do.

Upvotes: 1

Wolf
Wolf

Reputation: 4452

Let's say you've named your branches like so:

    A -- B -- C -- D (master)
     \-- E -- G -- H -- I -- J (current-parent)
          \-- K -- L (my-branch)

What you want to do is rebase my-branch onto the B commit like so:

    git rebase current-parent my-branch --onto B

Upvotes: 104

addiedx44
addiedx44

Reputation: 2743

You could use git rebase --onto, e.g.,

git rebase --onto new-base old-base your-branch

So in your case, something like:

git rebase --onto B E L

should work.

Upvotes: 36

Related Questions