1:27

Git Merge vs. Rebase vs. Squash Commit What are the differences and...

@sahnlam
Sahn Lam@sahnlam
61 views Jan 08, 2024 ~1 min read
Git Merge vs. Rebase vs. Squash Commit

What are the differences and when should you use each? As I explain in more detail in the video, there are some key distinctions.

Git Merge

This creates a new commit in the target branch. The new commit ties the histories of both main and feature branches together.

Git merge is non-destructive - it introduces a new commit without altering existing ones.

Git Rebase

Rebase transplants commits to the tip of another branch. It creates new commits for each one moved over.

The benefit is linear history. But be cautious with shared branches to avoid confusing collaborators.

Squash Commit

Squashing condenses multiple commits into one, streamlining the commit history.

Watch the video to see when to use merge vs rebase vs squash when incorporating changes between main and feature branches.

–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7
Actions
Advertisement