DEV Community

Discussion on: ELI5: Git Rebase vs. Merge

Collapse
 
ssimontis profile image
Scott Simontis

You forgot to mention the golden rule! If the working branch is public (someone besides you has a copy of it), please don't rebase!

Collapse
 
jamesthomson profile image
James Thomson

Came here to say this. If you rebase a public (shared) branch, the other devs working on it are going to be very upset with you. You can rebase all you want while the branch is local, but the second you push it you have to go back to merging.

Collapse
 
misterhtmlcss profile image
Roger K.

So if I fetch origin/master to my local origin/tired branch then I could rebase it. Work on the branch and when I'm done later in the day I can push to GitHub to origin/tired and make a PR to origin/master?

Thread Thread
 
karaluton profile image
Kara Luton

That’s correct!

Thread Thread
 
lane32x profile image
Jon Lane

I think the phrasing of this question could use some clarification.

A good general rule is not to rewrite history (any history) after it has been pushed to the shared repo.

Which means that when you are rebasing in your local repo, you’d only want to rebase your newer commits that haven’t been pushed yet.