as possible and if you end up with incoherent commits, make them cohesive by squashing commits using rebase. http://bit.ly/2HInPHI If you are the kind of person that dreads committing often, rebase to the rescue! Don’t think about rebase as an option once your code has been pushed to a remote repository.