Вы можете подумать, что вишневый пик подобен перебазированию, или, скорее, он управляется как перебаз. Под этим я подразумеваю, что он берет существующий коммит и регенерирует его, принимая в качестве отправной точки заголовок ветви, в которой вы сейчас находитесь.
A rebase
принимает коммит, у которого есть родительский X, и регенерирует коммит, как если бы у него действительно был родительский Y, и это именно то, что делает cherry-pick
.
Cherry pick - больше о том, как вы выбираете коммиты. С pull
(rebase) git неявно регенерирует ваши локальные коммиты поверх того, что тянется к вашей ветви, но с cherry-pick
вы явно выбираете некоторые коммиты и неявно регенерируете их (их) поверх вашей текущей ветки .
Так что, как вы делаете это отличается, но под капотом они очень похожи операции - регенерация коммитов.