Звучит так, будто вы не хотите использовать номера версий специально.
Вы можете использовать кодовые имена (Windows делала это с каждым из своих выпусков до их выпуска).
В основном вам нужно нечто большее, чем числа, чтобы различить в доме , о какой отрасли вы говорите. По мере выпуска версий вы можете наносить на них штамп Major.Minor.Revision, но до тех пор вам нужно назвать их так, чтобы их можно было узнать.
Разделите их на ветви и подотрасли.
Убедитесь, что все, что зависит от более высокой ветви, имеет производное имя.
Таким образом, вы можете вызвать ветку ProductionMac и ветку ProductionWindows, и вы сразу узнаете, что они не должны быть объединены, и что они оба являются производными.
Самая важная вещь для поддержания - это структурная иерархия. Номера версий делают это довольно хорошо, но вы должны продолжать добавлять «.» для каждого нового слоя, что раздражает и совершенно неописуемо (очень похоже на присвоение имен вашим переменным variableOne, variableTwo, variableThree) Итак, убедитесь, что, как бы вы ни выбрали, чтобы пометить каждую ветку, все еще очевидно, какие ветви связаны с какими другими ветвями.