How to cherry pick from 1 branch to another

I have 2 branches, master and dev.

I am on dev branch and I want to cherry-pick 1 commit from master to dev. So I did

$ git cherry-pick be530cec7748e037c665bd5a585e6d9ce11bc8ad
Finished one cherry-pick.

But when I do git status and gitx, I don't see my commit be530cec7748e037c665bd5a585e6d9ce11bc8ad in git history.

How can I see my commit in the dev branch?


Solution 1:

When you cherry-pick, it creates a new commit with a new SHA. If you do:

git cherry-pick -x <sha>

then at least you'll get the commit message from the original commit appended to your new commit, along with the original SHA, which is very useful for tracking cherry-picks.

Solution 2:

If you're an IntelliJ user, it's pretty simple. Here, I am cherry-picking a commit from master branch to give-me-commit-branch. Note a few points in the below pic:

  • destination: The current checkout branch is give-me-a-commit-branch. Denoted by tag icon.
  • source: The selected master branch whose commit logs are displayed on the right side is the source of the commit.
  • searching ability: Using the search (lens icon) option, we can find the revision number.
  • multiple-selections: At a time, we can select multiple commits and cherry-pick them at one go!

This is easy-to-use and transparent.

enter image description here