I'm very happy to see this guide encouraging the use of squashing and rebasing. It's really frustrating to see patch sets being merged that look like:<p>* Add widget<p><code review happens><p>* Fix typo<p>* Add test<p>* Fix test<p>* etc.<p>People fear rebasing because they already pushed to a remote server. Just delete the remote branch and re-create it after you've rebased. Assuming, of course, that this is a feature branch of some sort that no one else depends on.<p>Clean, logical commits and a mostly linear history make me a happy developer.
A lot of these items seem to go against current standards for no particular reason (or with no clear explanation). I've mentioned two here [1], but there's several others.<p>[1]: <a href="https://github.com/agis-/git-style-guide/issues/4" rel="nofollow">https://github.com/agis-/git-style-guide/issues/4</a>