Git cherry-picking is useful when you need to selectively apply specific commits from one branch to another. This can be a valuable tool in several scenarios, such as the following:
- Misplaced Commits;
- Concurrent Feature Development;
- Patching Critical Bug on Production;
- Extracting Commits from Closed Pull Requests.
It's crucial to keep in mind that, in most cases, traditional merges remain the recommended approach to maintain a clean version history. This is because cherry-picking can introduce duplicate commits, potentially complicating the version history.
Misplaced Commits
- Scenario: Accidentally committing changes to the wrong branch.
- Use of git cherry-pick: Helps extract the specific commit and apply it to the correct branch, ensuring a clean version history.
Concurrent Feature Development
- Scenario: Simultaneous development of features on different branches by multiple contributors.
- Use of git cherry-pick: Helps incorporate a feature from another branch, facilitating parallel development efforts.
Patching Critical Bug on Production
- Scenario: Addressing a critical bug in the production environment while feature development continues.
- Use of git cherry-pick: Assists in isolating and applying the bug-fix commit to the production branch, ensuring prompt issue resolution without delaying ongoing feature work.
Extracting Commits from Closed Pull Requests
- Scenario: Stale pull requests that were closed without merging, but contain valuable changes.
- Use of git cherry-pick: Enables retrieval of specific commits from the closed or stale pull request, incorporating them into the current branch to leverage valuable contributions.
This post was published (and was last revised ) by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.