Middle
What is the difference between Rebase and Merge?
sobes.tech AI
Answer from AI
Rebase and Merge are two ways to integrate changes from one branch into another in Git.
- Merge: Creates a new commit (merge commit) that combines the history of two branches. The branch histories are preserved.
- Rebase: Moves commits from the current branch on top of another branch. The history becomes linear, but commits in the rebased branch have new hashes.
Main differences:
| Feature | Merge | Rebase |
|---|---|---|
| History | Preserves the original branch history | Creates a linear history, rewriting commits |
| Commits | Adds a merge commit | Rewrites commits of the rebased branch |
| History cleanliness | Less clean history with merge commits | Cleaner and linear history |
| Usage | Integrating changes from a shared branch | Integrating local changes before a pull request |