To add to other answers of why you don't use rebase
to merge feature-a
branch to master
(so master
have feature-a
changes without needing to merge
): you shouldn't use rebase
on a shared remote repository. Doing so will create merge conflicts when other collaborators try to pull (because when you rebase
, it creates different hashes for the same commits, which Git identified as conflicts). Therefore a merge
here is necessary after rebase
. Don't use rebase
+ rebase
(on shared repositories).