The Cherry-Pick command allows you to ‘apply’ certain commits from another branch to the current branch.
o o C' [> master] | | o [> master] A o A | | | o [a-branch] | o [a-branch] | | | | o | B o | B | | | | | o C (selected) | o C | | | | o | D ===> o | D | / cherry-pick | / | / | / o o
In SmartGit, there are several places from which you can initiate a cherry-pick:
- On the working tree window, select Branch|Cherry-Pick to open the Cherry-Pick dialog, where you can select one or more commits to cherry-pick. Depending on your toolbar settings, you can also open this dialog via the Cherry-Pick button on the toolbar.
- In the Log Graph, you can perform a cherry-pick by right-clicking on one or more commits and selecting Cherry-Pick from the context-menu.
- From the Log’s Files view context-menu, you can cherry-pick a subset of files.
In case of a conflict, the Cherry-Pick may stop in “cherry-picking” state for which you can either:
- Fix the conflict and Continue (from the banner); or
- Abort the Cherry-Pick (from the banner) and go back to the previous repository state
See Resolving Conflicts for further information on how to deal with conflicts.