DEV Community

Discussion on: How-to manage different project release versions in Git?

Collapse
 
marmalade118 profile image
Marmalade

BG Adrian and Bertil Muth, many thanks to you both for your responses.

My plan is to add application configuration options to allow people to enable/disable a module as required, however, in the interim period I need to provide different versions of the app to different clients, before I will have chance to get that part completed (management pressure). Currently I'm using git tags for my releases but I was worried I would find myself in a bit of a mess trying to manage a minimum of 3 different versions of each release, using tags alone. And that I would be creating a lot of extra work for myself because I wasn't leveraging some of Git's features.

I'll elaborate on my scenario a bit to make sure I've explained things correctly.


Example:

The current version of the app is version 1.0.0.0 and includes 10 modules.

  • Client A requires the full version of the app.
  • Client B requires modules 1 and 2 and a different colour scheme.
  • Client C requires modules 1, 2, 4 and 6 and wants some changes making to some of the page layouts.

Should I just have the full version in the repository with all modules activated, then for each release - and version of said release - manually change the solution as per client requirements, then commit it and tag it? Or should I have a branch for the main app and a branch for each client version?

Apologies if I have misunderstood something you've already said. I find git to be a tad confusing at times.

Again, many thanks for any help provided. It's much appreciated.