Would an alternative be to use version control and use descriptive commits and commit often?
No - because your thoughts are not translatable into code.
I tend to draw various diagrams or graphs when working on something and it would be inconvenient to digitize them. Sure, once you have some final "thing" you can add it do the documentation.