At my company we're using git for a couple of months now (and we're happy about it), but we still don't get git for the full 100%.
Our main product is a website which we offer in different languages (frontend + admin backend). Some of these websites offer features others shouldn't offer (e.g. the type of fields that need to be filled in on a given form, different validation rulesets etc.).
Because these differences are fairly small, we're now using a config file to determine whether or not particular elements should be used by the website. But I guess this will cause problems when the differences between sites will get bigger.
I guess using different branches will make this easier to maintain, but how do you maintain different branches with one shared core? We're not using a deployment tool like Capistrano yet (but are planning to do so), so endless manual cherry-picking from master to all the different branches is not an option at this moment.
So, given this setup, how can branches help us?
master
|
- english
|
- german
|
- french
(For clarification: this is not about l10n/i18n, but about sharing core features between branches)