what is cherry pick in git

1 year ago 67
Nature

Cherry picking in Git means choosing a commit from one branch and applying it to another branch. It is a powerful command that enables arbitrary Git commits to be picked by reference and appended to the current working HEAD. Cherry picking is useful when you want to apply a specific commit from one branch to another branch, without merging the entire branch.

Here are some important use cases of cherry-pick:

  • If you made a mistake and committed a change into the wrong branch, but do not want to merge the whole branch, you can revert the commit and cherry-pick it on another branch.
  • If a feature branch goes stale and does not get merged into the main branch, you can cherry-pick the commits back to life.
  • If a pull request gets closed without merging, the commits can be found and cherry-picked back to life.

To use the cherry-pick command, you need to be on the branch you want to apply the commit to. The command for cherry-pick is as follows: git cherry-pick <commit-hash>. The commit hash is a unique identifier generated by Git for each commit.

It is important to note that if a commit being cherry-picked duplicates a commit already in the current history, it will become empty.