My git workflow changes as I learn. I'm now comfortable squashing, so I now do lots of incremental commits and tidy up after.