Git’s cherry-pick
command allows you to specify a range of commits to be cherry-picked onto the current branch.
This can be done with the A123..B234
style syntax – where A123
is the oldest commit in the range.
Consider a scenario with the following chain of commits on my-feature-branch
:
commit A123
Author: Troy McCall <troy@atenderrobot.com>
Date: Thu Aug 9 11:36:54 2018 -0400
- update CARoot
commit B234
Author: Troy McCall <troy@atenderrobot.com>
Date: Wed Jul 25 15:20:10 2018 -0400
- Allow wildcards and block heading and trailing dots
commit C345
[....]
commit D456
[....]
commit E567
Author: Troy McCall <troy@atenderrobot.com>
Date: Thu Jul 19 14:39:25 2018 -0400
- Document Go 1.10 requirement
commit F789
[....]
But you only need commits B234
through D456
, what do ya do?
#take these steps:
- Open a terminal window in your
my-feature-branch
- run
$ git log
or open themy-feature-branch
commit history on your remote (github) - you’ll need this for reference - in another terminal window,
$ git checkout master
- branch off of master
$ git checkout -b cherry-pick-my-feature-branch
- now here’s the tricky part, if you try to run
|
|
This will cherry-pick commits C345
and D456
onto HEAD
and skip over B234
.
This is because the lower-bound is exclusive.
If you want to include B234
, run:
|
|
now push up that bad boy to origin
|
|
See man git-cherry-pick
for more details.