I'm very new in using GIT as a versioning system and despite a lot of searches, I can't seem to really understand how to handle my scenario.
I have this web project that needs to be developed in two versions:
- the first is a general version used for demos
- the second is a customized version for my client.
As for now, the second versions differs in minor things, mainly branding (i.e. icons, some titles) and database connections.
The idea is to enhance its code with suggestions and real use cases provided by the client and, as we progress with bugfixes and new features, port the changes to the "general/unbranded version" - but keeping those minor differences.
In the future the "general" version could be forked and enhanced more with some independent features.
Are branches an useful way to deal with this scenario? I think they're not, as (at least so I understood) they're more meant to make changes to be merged back in short- or mid-term.