Rebasing vs Merging
Merge
git checkout main
git merge feature/my-feature
Creates a merge commit. Preserves full history.
Rebase
git checkout feature/my-feature
git rebase main
Replays commits on top of target. Linear history.
Golden rule
Never rebase public/shared branches. Only rebase local branches before pushing.