As I wait for other expert comments, I'd like to share a model that I've come across and seems great!
A successful Git branching model (SO Post)
To summarize, here is how I can address my basic needs (and scale it as and when required) -
- Initially maintain two branches "master" and "development"
- Master should always have a stable version and development has an ongoing source (might not be stable)
- In the future, if we need to fix a bug after release, we can create a hotfix branch and when stable merge it with master/development
- A good thing I found is that I can maintain stable releases in form of tags (i.e. new tag for each new version)
- Eventually, master branch will be merged with development as we proceed with each stable version
There's a lot more that can be handled with the above model but I see my initial concerns addressed. Any better suggestions?