It really depends on this. I commit frantically locally but only commit (presumably working) milestones to the remote repository. Historically, the 1000's of local commits don't add as much value to the greater code base as the feature level stuff does (IMO). It creates clutter (IMO).
fix_123 is a complete and functional commit, perhaps a bug fix or some other isolated task, it makes more sense to commit each of these to development. If bug number 10402030 is reported and your commit and push from local only encompasses the complete fix state that isn't such a bad thing.
One way to limit clutter on the remote repository is to squash some commits by rebasing like mentioned HERE. I only use git in personal projects outside of my paid work so if I am flawed in my methods I don't mind corrective comments.
On all this, version control practices can almost be like discussing religion. You will get wildly different opinions and practices but it really depends on what fits the project and organization.