Check out Git[0].
Using a version control system is a critical skill in modern software development where you can check a "blame" report on a file's contents to see what last touched that place or to check a log for a history of the software.
As for the quality of your notes and commit messages, that is alas something that requires a more personal development.
You can also put each project into its own Git repository and throw it up on a site like GitHub to host it.
[0]: https://git-scm.com/