My standard workflow is to hack away till a pause point, then shred it all up into step by step commits by staging patch hunks interactively. Everything dirty is always destined for a particular branch, though.

None of this applies for dotfiles repos, of course. ;)

/