Git gives you the tools to do that effectively. Namely cheap branching and rebasing. That means you can commit to your heart's content on your own branch, then squash it all down to something useful for master. A hundred tiny commits on a shared branch is just being a bad citizen.
You can do that in a branch without polluting git history.
It makes sense to say backup early, backup often. Commits in a version control system that's meant to keep track of development history aren't really meant to be used as a backup system. Just as a backup system isn't really meant to keep track of development history.