Git Merge vs Git Rebase

First learned about this in Blackberry QNX. #todo Useful: https://www.atlassian.com/git/tutorials/merging-vs-rebasing

Long story short, the devops team here at QNX expect projects on github that we are upstreaming and mirroring to follow git practices. However, the google team behind developing abseil-cpp doesn’t necessarily follow the proper conventions.

Both of these commands are designed to integrate changes from one branch into another branch—they just do it in very different ways.

When you go to merge your code there are a bunch of merge conflicts that you aren’t sure how to resolve. git rebase will move your new feature to the tail end of the new commits on master, creating one continuous flow of commits that should be conflict free, and replaces the need to merge.