Learning to make appropriate use of git rebase can help you ensure your git commit log makes sense and is easy to follow. It is also important if you want to use commands like git bisect. I recently had to make 47 commits in order to debug an issue. I could only test my changes inside a Heroku private space due to IP whitelisting. So commit after commit was pushed to Heroku, but I never pushed any of those commits to GitHub.