I am currently working on a small project, and I am working on getting it functional, but I question when exactly should I make commits. I usually just do it when I am done with working on it, but I know in practical projects often times commits are for one specific thing but given the project does not even work yet what exactly do I do.
Commit as often as you need or want and push into development branches. They are your checkpoints if you mess up, you experiment with things or you finish working on it for the moment. Just write commit messages that are useful for you to help you find your way back. Once the feature is done rebase everything into a single properly written commit and merge it with your main or feature branch.
In my experience that’s as good as you can get it to work for you without stressing about commits at all really.