Many Git users, I believe, are familiar with the situation where, after making a commit, something unnecessary is found to have been included in the commit, or the committed code fails tests. Sometimes, this code even ends up being pushed directly to origin.

Read more ...