Git merge vs Git rebase

Do you know the difference between git merge and git rebase?

I’m sure you do. But do you know when it’s better to use each other?

Git merge creates a new commit on top of two branches.

Git rebase moves a branch on top of another branch.

When it’s better to use one or another?

Git merge shows the development history: somebody created a separate branch and merged it into the main branch.

Git rebase keeps a clean and linear history: all the commits are aligned, no arrows crossing all along the history.

But…

When updating a feature branch with the main branch…

If I use a git rebase, I will keep a clean history of my feature branch. Still, if my feature branch has too much commits, the rebase will be long and complicated.

If I use a git merge, the conflicts are only shown once, as there is only one new commit. Still, the history of my feature branch will be messy. I will see arrows going from the main branch to my feature branch and vice-versa.

So, I use git rebase to update my feature branch when I have one commit on my branch or a few commits. And I use git merge when I have plenty of commits in my feature branch.

I explain this and more in my new ebook, check it here: https://sergiolema.dev/git-book/


Never Miss Another Tech Innovation

Concrete insights and actionable resources delivered straight to your inbox to boost your developer career.

My New ebook, Best Practices To Create A Backend With Spring Boot 3, is available now.

Best practices to create a backend with Spring Boot 3

Leave a comment

Discover more from The Dev World - Sergio Lema

Subscribe now to keep reading and get access to the full archive.

Continue reading