This is the method that I’ve found works best for me - each project has a repo, and when I’m working on a specific “thing” I open an issue.
There’s usually a lot more issue comments than commits as I just add a comment to the issue while I “work it out”.
New problem? New issue.
New insight on that problem? Comment.
And so on…