Git for EngineersRebasing vs Merging

Rebasing vs Merging

When to rebase, when to merge, and how to avoid footguns.

~20 min read

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.