What is Cherry-Pick
I confused for so long that what Cherry-Pick is. And today I got some times to learn it.
What Cherry-Pick can do
Cherry-Pick can pick some commits from other branch, merge into your current working branch.
If you're working on a dev branch. You have not yet complete your task but there are change committed. And now you need to merge part of you work into master for some reason but you don't want to merge the dev branch into master. And now you can cherry pick the commits that just you need, and merge them into master.
If you merge your commit into wrong branch. And now you need to merge you change into master. You can cherry pick you change and merge into master branch. Then revert your change into that wrong branch.