Cherry-picking in Git is all about choosing, picking and applying commit from any branch to the current HEAD branch. This is done using the
git cherry-pick command. Let’s dive a bit into details.
Assuming we have the following branch tree:
c1 - c2 - c3 - c4 main \ c5 - c6 - c7 feature
So, if we want to cherry pick c6 only to the main branch:
git checkout main git cherry-pick c6
To find the commit ID run
git log or visit How to list all commits in a Git repository for more details.
Now, the tree will look like:
c1 - c2 - c3 - c4 - c6 main \ c5 - c6 - c7 feature
git cherry-pick will create a new commit unless you pass the
git cherry-pick command is used rarely, almost never, but I can see it being useful in a few scenarios including:
- Restoring lost and removed commits.
- Pushing commits in the wrong branch.
- Hotfixing bugs.