Ветки-версии релизов
Заметил что не понятно объяснил про версии программ.
Основное: нужны не последовательности версий, а ветки версий. Потому что тупиковых-ошибочных версий не избежать.
Системы которые описаны программами слишком сложны. То есть имеют исследовательскую сторону вопроса. В исследованиях всегда бывают тупики.
Для выхода из проблемы тупиков в программах и заводятся разные ветки версий.
Например:
в версии 1 сделана основная фнкциональность CRM
в версии 2 сделана функциональность бухгалтерии
потом появляется новый закон в бухгалтерии, в которой изменяется корневой принцип расчетов и версия 2 уже не нужна. Как сделать так чтобы клиент понял какую версию использовать?
для ответа на вопрос, введем новшество добавим букву к версии 1, например букву 'а'. Получим версию 1а. Ее и будет выбирать когда будет качать программу с сайта клиент(а если у вас репозиторий?) Надо только объяснить клиенту как идут последние нужные ему версии. Ведь может случиться так что старая версия 2 продолжит существовать, если закон отменят.
далее после отмены закона версии будут нумероваться как версия 2a, как одноранговая с версией 1a но более живая ветка
Ещё что можно сказать: Может быть версия 2a.1.2b Или Может быть версия 1a.1.255.2a.45.617.7a.3
Для отличия ещё одной одно ранговой для ветки версии 2a может быть ветка-версия 2a3b6c7. То есть для смены в одном ранге веток последовательность ответвлений задаётся чередованием цифра-буква-цифра-буква.
Сами попробуйте по раскладывать версии в GIT.