git apply changes from one commit onto another branch

juniper- picture juniper- · Jun 12, 2013 · Viewed 18k times · Source

I want to do something similar to git rebase but without collapsing parallel commits.

Let's say I have the following commits:

  B (bar)
 /
A-C-D (foo)

Now I want to take the changes that D introduced to C in branch foo, and apply them to B in branch bar. so that I end up with the following:

  B-E (bar)
 /
A-C-D (foo)

Where the difference between commits B and E is equal to difference between commits C and D. Is this possible? Is there a way to do it without creating a patch?

Answer

cforbish picture cforbish · Jun 12, 2013

Yes:

git checkout -b mergebranch B
git cherry-pick D