Rebase to prepare your commits for publishing Practical Git (intermediate)
git-rebase is a swiss army knife for managing multiple branches and commits. Here you'll see how to rebase onto another developer's branch, rebase onto a release branch (with reverted commits), and interactively squash commits before pushing them.