Newbie Question on How To "Package" Code for ESP-32

o.k. I am about to show a historic amount of ignorance in this forum which is full of very smart and experienced coders - but here goes.

I have been working with PlatformIO since roughly Feb of 2023…so about 6 months. Also, I taught myself C coding from books, references, etc. so I know my coding is not the best. I sometimes need to write small “utilities” for work so I have picked up enough to get by but lack formal training. I don’t say this as an insult to those of you who really understand C and know how to code - on the contrary, I have great respect and many of you have taught me a lot on my project.

Oh, my project…so I was programming on esp32 in arduino framework and as an homage to digital watches which I loved as a kid. It has all of the typical time/date, stopwatch, alarm, world time, etc…and my code is about 90% finished. I have one last feature where the watch will be able to log into a wi-fi network to grab the current time. I’ll post some pics or a video once I get the hardware close to “final” form but it was HEAVILY inspired by this:

I have the source code in the main.cpp
I have a few library files including some library files I “expanded” to give me a bit more functionality.
I also have a couple of header files, one contains some custom fonts and one contains the bitmaps for the watches gui.

Now that the code is almost finished, I was wondering if there is a recommended way to “package” all of these files into a “release” and manage the revisions of software based on bug fixes and changes in PlatformIO. I want to do this not only to keep track of future changes but also if someone asks for the code, I’d like to give them the code and all of the necessary files in a single package with a revision number.

Any advice is appreciated.

Hi @fishbone !

What you are looking for is a version control like git.
The best known is probably github.
Best of all, git is already integrated into VS Code: image

Since you, like me, are self-taught, I recommend searching for vscode github on YouTube:

Yes, I think this is what I was looking for!
Thanks @sivar2311 sivar