I am a visual person, and I always explain with graphics if possible. I would have added the following to the already great answer from Ipseeta Priyadarshini
before:
a---b---c (master)
\
d---e (dev)
after merge:
a---b---c---d (master) (dev)
\ /
d---e
d is called a merge commit
after rebase:
a---b---c---d2---e2 (master) (dev)
d and e have been rewritten on top of master and now have different names (hash).