Both integrate branches; history differs. - **merge** - keeps both histories - adds merge commit - best for shared branch - **rebase** - replays local commits - creates linear history - rewrites commit hashes - **rule** - shared ⇒ merge - local-only ⇒ rebase