Multiple commits cherry-picking

35,691

Solution 1

You do it correct. The synopsis is

git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>...

git cherry-pick goes from left to right commit. You can order how you want. If you have a conflict you have three choices. you can git cherry-pick --quit (stop cherry-picking and let your tree in his current state), git cherry-pick --abort (stop cherry-picking and reset your branch to the state where he was before you start git cherry-pick) or resolve this conflict with an editor or with git mergetool and then git cherry-pick --continue go to next commit in your list.

Solution 2

If you need to maintain the record neatly you are better off with creating a topic branch and running git rebase -i <commit before the 33rd>, an interactive rebase. Follow the instructions for dropping commits. This should be simpler than cherry-picking so many commits in a particular strict order.

Share:
35,691
Nitu Dhaka
Author by

Nitu Dhaka

Updated on September 22, 2020

Comments

  • Nitu Dhaka
    Nitu Dhaka almost 4 years

    I have 33 commits in the main branch that are meshed up. Now I need to maintain the record neatly. So now I have created feature branches and I'm trying to classify those 33 commits in different feature branches. So can it be possible to pick multiple commits at a time to copy in the relevant feature branch? And I am also facing its conflicts when I tried multiple commits with the cherry-pick command.

    git cherry-pick A B C
    

    here A, B, C are the commits' hashcode.