I have two branches. Commit a
is the head of one, while the other has b
, c
, d
, e
and f
on top of a
. I want to move c
, d
, e
and f
to first branch without commit b
. Using cherry pick it is easy: checkout first branch cherry-pick one by one c
to f
and rebase second branch onto first. But is there any way to cherry-pick all c
–f
in one command?
Here is a visual description of the scenario (thanks JJD):
Best Answer
Git 1.7.2 introduced the ability to cherry pick a range of commits. From the release notes:
To cherry-pick all the commits from commit
A
to commitB
(whereA
is older thanB
), run:If you want to ignore A itself, run:
(Credit goes to damian, J. B. Rainsberger and sschaef in the comments)