your last paragraph sums it all up the best it deserves more than just one +1. git is a tool to shape the codebase into a quality piece. i usually have about 8-12 private branches that needs others' commit before i can rebase and commit. in these branches i can test and play before anyone gets hurt.