I'd like to check what best practices are avail out there. I have the following requirements:
I have a repo which is used for development (master and develop branches). I would like to keep track of alpha/beta/release candidates and release build. I am considering to create branches for alpha/beta/rc/rel and then when I will merge push develop to alpha and then alpha to beta etc etc. But in this case, the master branch is left without any useful usage and the develop will only work in the pre-alpha phase. After an alpha version, I have to branch from alpha branch.
I want to keep track in a VCS the whole package that ships to the customers. So, I am considering to create a separate repo with release builds and all the additional material (docs, license, etc.etc).
The application is cross-platform which means that for each of the above I need at least three other branches (win32, win64 and macos)
All in all, it looks very complicated process. So, what is a common approach here?