Cherry-picking
Sometimes you just need one or a small number of commits from one branch to be added to the tip of another branch. A common case is this: you have a release branch and a feature branch. The release branch is "frozen" but then you need to add a commit from a feature branch to the release branch (possibly a patch to fix a problem). When you cherry-pick, the picked commit goes to the tip of the branch you are cherry-picking onto.
An illustration will help. Here's our starting point:
Figure 5.13: Before cherry-picking
We discover that we do not want all of Feature1 on Main, but we do want Feature1B (it has the fix or feature set we need). To do this at the command line you enter git cherry-pick a2cb5f3
where a2cb5f3
is the ID of the feature commit you want to cherry-pick.
What you end up with looks like this:
Figure 5.14: After the cherry-pick
Notice that Feature1B is now added to the tip of main, but it is also left on the...