tech

Git Rebase vs Merge

gitversion-controlworkflow

The rebase vs merge debate is older than most codebases. Here is a practical take.

Merge

Preserves exactly what happened: git merge feature creates a merge commit. History shows branching reality.

Rebase

Rewrites commits to appear sequential: git rebase main replays feature commits on top of main. History reads like a story.

Rule of Thumb

Rebase local branches before sharing. Merge when integrating shared work. Never rebase commits others have based work on.