Software Engineering ยท Version Control
Replaying your commits on top of a different base commit, rewriting the branch history so it looks like you started from the latest point.
Example: Rebasing a feature branch onto main so your changes appear cleanly on top of the latest code.
In practice: Never rebase a shared branch others are working from โ rewriting history they've pulled creates divergent histories that are painful to reconcile.
Debated: The merge-vs-rebase debate is a genuine team culture divide โ neither is objectively better, but mixing both on the same repo without a clear policy creates a confusing history.