You should definitely commit your changes every time you have a working iteration, even if it's not the complete or final version, or even if the code doesn't pass all the coding standards and static analysis checks.
Things can be fixed or improved in subsequent commits.
You can amend or squash commits locally so your clean-up and work-in-progress commits are removed before you push your final version to your remote repository.
Whilst test-driven development says you should work in small feedback loops and steps, you don't need to push every commit as you wrote them.
Until you run git push, your commits are yours and yours only.
You have the opportunity to tidy up and organise your changes - making your commits easier to review and more likely to be approved in a code review.
- Oliver
Was this interesting?
About me
I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.