Все красиво объяснил
Nkly777, только в блоке PS merge с rebase перепутаны.
Добавлю картинок.
git
rebase devel - собачка на молнии - "сшивает" коммиты по дате их создания
(ветка devel "растворяется" в основной ветке)
git
merge devel - пожарная лестница, все коммиты ветки devel крепятся в конец, образуется пересечение
(devel остается отдельной веткой, к которой можно вернуться)
git
chery-pick idea - забрать коммиты из ветки idea