It's called cherry-pick
because the task is like cherry picking. You look through a bunch of commits (in a real tree, leaves and branches) and carefully select some of them. It's a delicate job the same way cherry picking in real-world is.
git-cherry
is related to git-cherry-pick
. git-cherry
reports which commits do not exist in a branch. In other words, it returns which commits can be cherry-pick
ed, i.e. which commits are cherries (so they can be picked).