Solution 2

There is no standard for doing this. You can organize your code as you want. Personally I like to create a branch for major and minor versions. If you plan to rebuild older versions, adding labels makes this even easier.

I’d suggest something like this but again, there are many ways to do this